特定事件监听器objective-c

时间:2012-08-17 18:18:20

标签: objective-c event-listener

我正在开发一个iPhone应用程序(在Objective-C中),我正在努力使其成为某种'动作监听器' 不断检查查看当前日期和时间是否与填充了事件对象的NSMutableArray中的第一个对象(从用户日历中检索)的日期和时间相匹配。

我的问题是我无法弄清楚如何这样做,而我的其余代码继续运行,因为现在我有一个for循环运行以不断检查,这会阻止我的代码,并阻止应用程序继续运行。如果有人知道任何类型的教程,或者有解释,我会非常感激。

谢谢!

3 个答案:

答案 0 :(得分:1)

设置NSTimer以在所需日期触发。 此处的此NSTimer类别可用于此目的:https://github.com/adamjernst/NSTimer-AbsoluteFireDate

您还可以尝试创建和安排UILocalNotification以获取特定日期的通知。

答案 1 :(得分:0)

您可以使用NSTimer编辑:请参阅phix23的答案以获得更可靠的" fireDate"用于iOS的代码。

Apple文档:NSTimer

答案 2 :(得分:0)

获取当前时间和事件时间之间的时间,并使用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
});