我正在创建一个基于提醒的应用,我现在唯一的问题是能够在我的应用上实现提醒。
基本上,向用户呈现UITableView,用户可以在其中添加活动,并且我希望通过向用户发送通知来触发这些日期,以提醒他们在保存到核心数据的日期上的事件。
此时,我仍然不明白NSLocalNotification是如何工作的我听到一些用户在这里说苹果只允许一次处理64个通知而我只设法创建1但是在创建另一个事件时,它是当我使用
调试我的应用程序时,下降到0并随机返回到1个事件 UIApplication.sharedApplication().scheduledLocalNotifications?
我可以看到我设置的通知,但不能看到其他通知。
swift中的任何示例应用都会帮助我理解如何设置多个通知来添加,编辑和删除它们。
提前致谢并快乐编码
答案 0 :(得分:1)
解决此问题的最简单方法是创建通知并安排通知。如果您要删除特定通知,则必须保留其引用并在应用启动时保留它们,但是您始终可以使用UIApplication.sharedApplication().cancelAllLocalNotifications()
这是一个将通知安排在同一天同时开启5天的示例:
let secondsInADay = 60 * 60 * 24
for i in 1...5 {
var dayString = "\(i) days"
if i == 1 {
dayString = "\(i) day"
}
let notification = UILocalNotification()
notification.fireDate = NSDate(timeInterval: Double(i * secondsInADay), sinceDate: NSDate())
notification.alertBody = "It has been \(dayString) since you last opened the app."
notification.soundName = UILocalNotificationDefaultSoundName
if notification.fireDate?.timeIntervalSinceNow > 0 {
UIApplication.sharedApplication().scheduleLocalNotification(notification)
}
}
此外,您是对的,每个应用程序都有一个队列,用于尚未触发的本地通知。该队列可以容纳64个单独的通知(重复通知只计为64个中的1个)。