我必须设置一个时间来检查服务器每天2次的更新数据,假设是9AM和9PM,但我不知道如何做到这一点。
创建一个线程,每次运行并通过设置检查时间当前时间,如果它们相等,那么执行任务吗?这种方式好吗?我认为这是糟糕的表现。
答案 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