gpt4 book ai didi

objective-c - 合并 NSNotifications

转载 作者:行者123 更新时间:2023-12-03 16:21:12 26 4
gpt4 key购买 nike

NSNotificationQueues 上使用合并通知时有什么方法可以控制时间范围吗?

我想合并,例如下一秒,但据我了解可用的选项,它要么立即执行,要么在下一个运行循环调用时执行,或者“空闲时”执行。

任何其他方式,例如在更长的时间范围内合并?

我基本上正在寻找一种方法来收集小时间范围内的所有用户事件(例如捏合缩放),并仅在用户明显停止缩放/等之后才启动昂贵的操作。

最佳答案

您可以在第一个通知到来时安排一个NSTimer。当下一个通知到来时,检查您的计时器实例变量。如果它非零,则忽略该通知。否则启动一个新的计时器。

当计时器触发时,清除计时器实例变量并启动昂贵的操作。

更简单的替代方法是使用 performSelector:afterDelay:cancelPreviousPerformRequestsWithTarget:selector:object:。但效果并不一样。每次收到通知时,您都会进一步延迟昂贵的操作。如果通知的发送速度快于您设置的延迟,则昂贵的操作将永远不会运行。

关于objective-c - 合并 NSNotifications,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38498807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com