快速查找预定通知的方法

时间:2016-06-19 13:15:57

标签: ios swift uilocalnotification

是否有快速有效的查找预定通知的方法? 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保持同步是否很麻烦?

1 个答案:

答案 0 :(得分:-1)

即使您有10000个预定通知,您也可能无法检测到用眼睛迭代它们所花费的时间。您必须记录之前和之后的时间并计算差异,并且可能小于1/1000秒。

这是"过早优化"的情况。使用for循环并完成它。

如果您有超过10000个预定通知,那么您需要重新考虑您的设计。