Pet*_*rbo 3 cocoa-touch objective-c ios uilocalnotification
我已经尝试了3do应用程序,它似乎能够安排非重复通知并删除通知中心的特定通知.它的工作原理如下:当应用程序处于后台时,它们会在通知中心发送,如果您选择其中一个通知,则会打开并且您可以选择点击"完成",如果您点击"完成",则会删除特定通知来自通知中心.如果您没有点击任何内容,通知将留在通知中心.
这是我自己在自己的一个应用程序中遇到的问题,我无法理解如何从通知中心删除单个通知.如果通知没有重复间隔,则scheduledLocalNotificationsUIApplication数组将为空,因此我无法取消该特定通知并将其从通知中心中删除.但是,如果通知具有重复间隔,则scheduledLocalNotifications数组将不为空,我可以删除此通知.但是,如果通知不重复,我该如何处理这种情况呢?
Har*_*nan 10
scheduledLocalNotifications array will show as empty even if you have set local notifications.最好的方法是保留各个本地通知对象.这样您就可以轻松删除它.
设置本地通知时,请像这样保存对象
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
NSString *userDefKey = @"key";
NSData *dataEnc = [NSKeyedArchiver archivedDataWithRootObject:localNotification];
[[NSUserDefaults standardUserDefaults] setObject:dataEnc forKey:userDefKey];
Run Code Online (Sandbox Code Playgroud)
你应该保留钥匙
如果要删除特定的本地通知
if([[NSUserDefaults standardUserDefaults] objectForKey:userDefKey]){
NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:userDefKey];
UILocalNotification *localNotif = [NSKeyedUnarchiver unarchiveObjectWithData:data];
[[UIApplication sharedApplication] cancelLocalNotification:localNotif];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3558 次 |
| 最近记录: |