Ios 延迟通知

Ios 延迟通知,ios,swift,ios9,nsnotificationcenter,Ios,Swift,Ios9,Nsnotificationcenter,如何延迟发布通知 我想到的一个解决方案是:performSelectorAfterDelay方法中的post通知。有没有更好的解决办法 Is可以帮助我实现这一点吗?利用GCD的方法。在Objective-C中,这看起来像: dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [[NSNotificationCenter d

如何延迟发布通知

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

Is可以帮助我实现这一点吗?

利用GCD的方法。在Objective-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)
}

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


如果你的通知是一种提醒或类似的东西,它可能会很有用。

请参阅此链接,它可能会帮助你纠正错误。我们必须在swift中使用GCD,而不是performSelector。谢谢你的建议。