如何延迟发布NSNotification。
我想到的一个解决方案是:-在performSelectorAfterDelay方法中发布通知。有没有更好的解决办法。
NSNotificationQueue能帮我做到这一点吗?
发布于 2016-02-18 06:45:31
利用GCD的dispatch_after()方法。在目标C中,这看起来是:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[[NSNotificationCenter defaultCenter] postNotification:someNotification];
});更新: Swift 3
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + .seconds(5)) {
NotificationCenter.default.post(someNotification)
}发布于 2016-02-18 09:59:34
您还可以使用NSLocalNotification并设置fireDate。主要区别在于,使用NSLocalNotification,当应用程序处于后台(就像RemoteNotification)时,用户将看到通知。
如果您的通知是提醒或诸如此类的事情,它可能是有用的。
https://stackoverflow.com/questions/35474589
复制相似问题