首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并NSNotifications

合并NSNotifications
EN

Stack Overflow用户
提问于 2016-07-21 16:21:48
回答 1查看 207关注 0票数 3

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

我想合并,例如在下一秒,但据我所知,它要么是立即,要么是在下一次运行循环调用时,或者是“空闲时”。

有没有其他方法可以在更长的时间范围内进行合并?

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

EN

回答 1

Stack Overflow用户

发布于 2016-07-25 19:27:48

您可以在收到第一个通知时安排NSTimer。当下一个通知到达时,检查您的timer实例变量。如果它不是nil,则忽略通知。否则启动一个新的计时器。

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

一种更简单的替代方法是使用performSelector:afterDelay:cancelPreviousPerformRequestsWithTarget:selector:object:。然而,效果并不相同。每次收到通知时,您都会进一步延迟代价高昂的操作。如果通知到达的时间比您设置的延迟快,则开销较大的操作将永远不会运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38498807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档