是否有快速有效的查找预定通知的方法? Find list of Local Notification the app has already set讨论了列表,这就是我所做的:
// To avoid duplicate notifications, check whether there are already scehduled notifications with the same fireDate, reminderName and calendar name.
if let definiteDueDateComponents = reminder.dueDateComponents, definiteDueDate = definiteDueDateComponents.date, definiteScheduledNotifications = UIApplication.sharedApplication().scheduledLocalNotifications {
for notification in definiteScheduledNotifications {
if notification.fireDate?.compare(definiteDueDate) == .OrderedSame {
// Check whether there is already a notification set up for definiteDueDate?
// If so, check whether the notification is actually for the same item that I want to set up here.
}
}
}
然而,这可能会变得效率低下,特别是如果我在安排它们之前有许多我要检查的项目(运行上面的代码),并且我已经有各种预定通知。
有人试过创建预定通知的字典(哈希表)吗?如果是这样,你什么时候创建它并重新创建它?尝试使哈希表与UIApplication.sharedApplication().scheduledLocalNotifications
保持同步是否很麻烦?
答案 0 :(得分:-1)
即使您有10000个预定通知,您也可能无法检测到用眼睛迭代它们所花费的时间。您必须记录之前和之后的时间并计算差异,并且可能小于1/1000秒。
这是"过早优化"的情况。使用for循环并完成它。
如果您有超过10000个预定通知,那么您需要重新考虑您的设计。