如何创建线程来检查时间?

时间:2013-01-23 08:22:29

标签: ios grand-central-dispatch nsthread

我必须设置一个时间来检查服务器每天2次的更新数据,假设是9AM和9PM,但我不知道如何做到这一点。

创建一个线程,每次运行并通过设置检查时间当前时间,如果它们相等,那么执行任务吗?这种方式好吗?我认为这是糟糕的表现。

2 个答案:

答案 0 :(得分:2)

也许当您的应用启动时,您可以使用[NSDate date]获取当前时间(也可以获取当前时间的timeInterval,称为timeInterval0),如果您当前的时间<今天上午9点,您可以获得今天上午9点的timeInterval,称为timeInterval1。然后你可以得到现在和你的目标时间之间的秒数,然后使用NSTimer调用你的方法,延迟是在几秒之间。

在您的方法中,您可以检查更新,并且还必须如上所述从下一个9:00之间计算秒数。

答案 1 :(得分:0)

使用线程但不是每秒检查一次,如果相等的话。您可以使用NSNotification。当时间相同时,它会发送通知以获取数据。

您可以阅读:iOS timed background processing

也可以阅读本教程:http://mobile.tutsplus.com/tutorials/iphone/ios-multitasking-local-notifications/

我也读过。对我来说也是新的东西。最好的是NSLocalNotifications。看看这个:Reminder App

本地通知的文档:Local Notifications