在NSNotificationQueues
上使用合并通知来控制时间范围时有什么办法吗?
我想合并,例如下一秒,但据我了解可用的选项,它是立即或下次运行循环调用或'空闲时'..
任何其他方式,例如在更长的时间范围内合并?
我基本上是在寻找一种方法来收集所有用户事件(如缩放到缩放),并在用户显然停止缩放等时启动昂贵的操作。
答案 0 :(得分:0)
您可以在第一个通知进入时安排NSTimer
。当下一个通知进入时,请检查您的计时器实例变量。如果它是非零,则忽略该通知。否则开始一个新的计时器。
当计时器触发时,清除计时器实例变量并启动昂贵的操作。
更简单的替代方法是使用performSelector:afterDelay:
和cancelPreviousPerformRequestsWithTarget:selector:object:
。然而效果并不相同。每次收到通知时,您将进一步延迟昂贵的操作。如果通知比您设置的延迟快,那么昂贵的操作将永远不会运行。