首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >延迟NSNotification

延迟NSNotification
EN

Stack Overflow用户
提问于 2016-02-18 06:43:08
回答 2查看 3.4K关注 0票数 2

如何延迟发布NSNotification

我想到的一个解决方案是:-在performSelectorAfterDelay方法中发布通知。有没有更好的解决办法。

NSNotificationQueue能帮我做到这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-18 06:45:31

利用GCD的dispatch_after()方法。在目标C中,这看起来是:

代码语言:javascript
复制
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    [[NSNotificationCenter defaultCenter] postNotification:someNotification];
});

更新: Swift 3

代码语言:javascript
复制
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + .seconds(5)) { 
    NotificationCenter.default.post(someNotification)
}
票数 13
EN

Stack Overflow用户

发布于 2016-02-18 09:59:34

您还可以使用NSLocalNotification并设置fireDate。主要区别在于,使用NSLocalNotification,当应用程序处于后台(就像RemoteNotification)时,用户将看到通知。

如果您的通知是提醒或诸如此类的事情,它可能是有用的。

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

https://stackoverflow.com/questions/35474589

复制
相关文章

相似问题

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