作为UIApplicationDelegate
协议的一部分,当用户激活某些(本地)用户通知时,即在下拉,锁定屏幕等中触摸时,应用程序正在等待被调用。应用程序已在(当时)未来使用.fireDate
安排,我以后并不总是看到.fireDate
的值:当通知对象被系统传递给应用程序时,它的{ {1}}存在且可以被操纵,或者是.fireDate
。 (在所有测试的情况下,通知对象确实都设置了nil
,并且在将来,应用程序发布或安排之前。)
因此,.fireDate
会在通知中心生存吗?也就是说,以下示例中的.fireDate
是否会始终评估真实表达式?即使通知在用户的通知中心停留了一天左右?或assert
是否需要更改通知或其中心的状态? (或者我正在咆哮错误的树?)
.fireDate
(有问题的日期最终将存储在其他地方,作为一个典型的东西,但是func application(
application: UIApplication,
didReceiveLocalNotification notification: UILocalNotification) {
if let _ = notification.region {
// not interested
} else {
assert(notification.fireDate != nil)
}
}
似乎非常方便而且非常重要!)