【发布时间】:2017-02-20 05:24:11
【问题描述】:
在某个按钮单击事件上从NSNotificationCenter 发布通知因此,当我有快速按钮事件时,通知被多次调用会导致许多问题。当快速事件发生时,我想取消之前发布的通知。如何处理下面的代码。
func buttonClick() {
// I want to cancel the previous Event here
NSNotificationCenter.defaultCenter().postNotificationName("Event", object: self)
}
更新:
让我清楚地解释一下我想要什么,实际上我有一个观察者方法,当按钮点击发生时,我想发布一些通知来控制一些 UI 元素,比如更改按钮图像。问题是当我快速点击按钮时,观察者被多次调用,并且我的通知被发布在相同的计数上,因此 UI 闪烁我无法控制按钮点击事件上的观察者我只能控制发布的事件从我身边。
非常感谢任何帮助。
【问题讨论】:
-
你在哪里添加你的通知观察者?
-
@Matt 一些其他类基于我正在执行一些操作,比如更改按钮图像。
-
如果已发布通知,则不应发布通知
-
我不想在快速按钮事件发生时发布通知,假设更改 UI 会延迟。
-
您无法真正取消之前发布的
NSNotification。布尔检查更好地避免您的问题
标签: ios swift notifications nsnotificationcenter