我正在开发一个 iPhone 应用程序(在 Objective-C 中),并且我正在尝试使它有某种“动作侦听器”不断检查当前日期和时间是否与第一个对象的日期和时间匹配一个NSMutableArray
充满事件对象(从用户日历中检索)。
我的问题是我无法弄清楚如何这样做,而我的其余代码继续运行,因为现在我有一个for
循环运行来不断检查,这会停止我的代码,并阻止应用程序继续运行。如果有人知道任何类型的教程或有解释,我将不胜感激。
谢谢!
我正在开发一个 iPhone 应用程序(在 Objective-C 中),并且我正在尝试使它有某种“动作侦听器”不断检查当前日期和时间是否与第一个对象的日期和时间匹配一个NSMutableArray
充满事件对象(从用户日历中检索)。
我的问题是我无法弄清楚如何这样做,而我的其余代码继续运行,因为现在我有一个for
循环运行来不断检查,这会停止我的代码,并阻止应用程序继续运行。如果有人知道任何类型的教程或有解释,我将不胜感激。
谢谢!
设置一个 NSTimer 在所需日期触发。这里的 NSTimer 类别对此很有用:https ://github.com/adamjernst/NSTimer-AbsoluteFireDate
您还可以尝试创建和安排UILocalNotification以在特定日期获得通知。
获取当前时间和事件时间之间的时间,使用dispatch_after
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, timeDifference * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
//Your code
});
您可以使用NSTimer
EDIT:查看 phix23 的答案以获得更可靠的用于 iOS 的“fireDate”代码。
苹果文档:NSTimer