我有一个方法,我希望在一段时间延迟后执行(非重复)。
我可以使用performSelector:afterDelay或者我可以安排一个NSTimer并指定选择器作为参数。
如果最终结果相同(在指定的时间延迟后调用我的方法),使用one over other的优点/缺点是什么? 我使用哪一个都没关系?
(如果它是相关的,我的方法将在前台调用,当应用程序在通过beginBackgroundTaskWithEcpirationHandler提供的10分钟窗口期间移动到后台时)。
TIA
答案 0 :(得分:3)
来自NSObject类的Apple参考,关于performSelector:方法
此方法设置一个计时器来执行aSelector消息 当前线程的运行循环。计时器配置为在。中运行 默认模式(NSDefaultRunLoopMode)。当计时器触发时,线程 尝试从运行循环中取消消息并执行 选择。如果运行循环正在运行并且在默认情况下,它会成功 模式;否则,计时器等待直到运行循环处于默认状态 模式。
所以,如果您只想进行一次通话,我认为您可以自由使用performSelector:afterDelay: