Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在哪里放置经常检查的代码?_Ios_Swift_Uitableview_Viewdidload - Fatal编程技术网

Ios 在哪里放置经常检查的代码?

Ios 在哪里放置经常检查的代码?,ios,swift,uitableview,viewdidload,Ios,Swift,Uitableview,Viewdidload,我有一些代码需要频繁调用,比如检查今天是哪一天,如果是第二天,那么在tableView中移动日期字符串 现在我想viewDidLoad会一直被调用,所以把它放在那里会很好。然而,我已经离开模拟器一整晚了,我按下home按钮并再次单击,更改了VCs等,并且viewDidLoad没有被点击 我可以做哪些零星检查,例如,今天是新的一天吗?当x发生时等等 我可以做哪些零星检查,例如,今天是新的一天吗 这取决于“是”的含义!特别是“是”什么时候?你说的是“零星的”,但那只是一点皮毛。你什么时候需要知道这些

我有一些代码需要频繁调用,比如检查今天是哪一天,如果是第二天,那么在tableView中移动日期字符串

现在我想viewDidLoad会一直被调用,所以把它放在那里会很好。然而,我已经离开模拟器一整晚了,我按下home按钮并再次单击,更改了VCs等,并且viewDidLoad没有被点击

我可以做哪些零星检查,例如,今天是新的一天吗?当x发生时等等

我可以做哪些零星检查,例如,今天是新的一天吗


这取决于“是”的含义!特别是“是”什么时候?你说的是“零星的”,但那只是一点皮毛。你什么时候需要知道这些?你想对什么样的刺激做出反应?用户何时打开你的应用程序?然后将其放入
ApplicationIDBecomeActive
。每天中午?然后运行NSTimer。实际上,这里的问题是,当你需要执行这些检查时,你自己似乎并不知道。在你的应用程序中,持续检查某些东西是很容易的。您只需创建一个背景线程。然而,您所描述的是一个从应用程序生命周期之外持续存在的线程

请阅读苹果自己提供的阅读资料。你必须有很好的理由放背景线。此类线程的范围仅限于某些场景,如下载背景资料、播放声音等


对于您的场景,我将查看在您的。在那里你可以模拟这样的连续检查。但是,请注意,启动时不要过多地使用文字,否则如果应用程序未能在合理的时间内处于活动状态,则可能会自动终止。

在这种特定情况下,您可以订阅NSCalendarDayChangedNotification,以便在日期更改时收到通知,并在视图控制器中做出相应的响应。一般来说,didBecomeActive或ViewDidEmbed可能会起作用

需要时给他们打电话。。。如果您需要定期检查,您可以在控制器出现或应用程序进入前台时调用它,或者只要有一个计时器,就会在给定的时间间隔内定期调用检查。这就是我试图做的,当控制器显示viewDidLoad时,但显然这不起作用“控制器出现”(
视图将出现
)并且控制器已加载(
视图加载
).ViewWillAppeal正是我所需要的,非常感谢。我总是忘记这一点,只是“转储”ViewDidLoad中的所有内容。基本上,当他们单击view控制器或重新打开应用程序时,我想进行这些检查,所以它是最新的。NSTimer的想法不起作用,因为我相信如果它不是报警应用程序,你就没有后台计时器“重新打开应用程序”包含在我说的内容中:
applicationIDbecomeactive
。我甚至不知道“点击视图控制器”是什么意思;视图控制器不是你可以点击的东西。但是每次视图控制器的视图重新出现时,你都会得到(等等)
viewDid出现了
。所以在这两者之间,我们刚刚介绍了您的整个规范,不是吗?非常感谢,我想我应该把它放在应用程序IDBecomeActive上。我希望它就像当您单击facebook或twitter应用程序时,新闻提要会自动下载新帖子一样