Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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 基于Objective-C时间的观测器模式_Ios_Objective C - Fatal编程技术网

Ios 基于Objective-C时间的观测器模式

Ios 基于Objective-C时间的观测器模式,ios,objective-c,Ios,Objective C,在Objective-C中,在某个时间等待执行某项操作的最佳方式是什么(设置为可以传递给观察者对象的时间戳,以了解等待的时间) 例如,我想为将来“完成”的事情设置一个时间,比如建造一座房子,当当前时间是应用程序设置为完成时间的时间时,应用程序将向另一个对象发送通知或消息 在Objective-C中实现这一点的最佳方法是什么 谢谢你的帮助 我想你说的是项目运行期间发生的事情(而不是几个月后才建成的真正的房子“忙碌的房子”) 这方面的常规工具是-[NSTimer initWithFireDate:i

在Objective-C中,在某个时间等待执行某项操作的最佳方式是什么(设置为可以传递给观察者对象的时间戳,以了解等待的时间)

例如,我想为将来“完成”的事情设置一个时间,比如建造一座房子,当当前时间是应用程序设置为完成时间的时间时,应用程序将向另一个对象发送通知或消息

在Objective-C中实现这一点的最佳方法是什么


谢谢你的帮助

我想你说的是项目运行期间发生的事情(而不是几个月后才建成的真正的房子“忙碌的房子”)


这方面的常规工具是
-[NSTimer initWithFireDate:interval:target:selector:userInfo:repeats:
]。这将允许您设置调用方法的特定时间。它只是在runloop上调度事件,这非常便宜
NSTimer
非常适合于不需要时间限制且延迟相当长(超过几秒钟)的情况。

似乎最好的方法是延迟启动线程。如果您需要在某个特定的时间启动,只需将[NSDate](现在)与您希望它启动的时间之间的差异计算出来。绝对不需要创建另一个线程。ObjC倾向于创建线程,而不仅仅是为了等待一些东西。