我的用户登录应用后,会下拉会议列表并将其添加为UILocalNotification
。
每次用户启动应用程序并登录时都会发生这种情况。
在一遍又一遍地执行此操作时,以下哪项更好“练习”:
使用scheduledLocalNotifications
拉取所有位置通知,然后在循环下载的会议时检查该会议是否已存在本地通知。如果是这样,请不要添加它。
使用cancelAllLocalNotifications
清除所有本地通知并将其添加。
似乎#1将是正确的方式,但我担心如果我在同一时间与另一个会议(它发生)会议,它会将其视为已添加但不会添加新会议。
答案 0 :(得分:1)
就个人而言,我会拉下位置并检查它们。它对我来说感觉更整洁,而不是摧毁一切并再次创造它。然后,#2可能(可忽略不计)更快,因为您不需要循环和检查。
如果您担心#1不匹配两个会议同时的位置,您可以通过UILocalNotification
属性将自己的唯一标识符添加到userInfo
对象,并查询此信息以查看如果会议是同一事件,而不是基于通知时间。
答案 1 :(得分:0)
如果您为每次会议都有一个唯一的令牌,例如UUID,则可以避免双重预订情况。将此标记放在userInfo字典中以获取通知,然后您可以准确地查看通知所针对的会议。比较以确定此会议是否已排队通知最好由此唯一令牌完成,以确保会议时间不会更改。