I'm diving into iOS development and have been working on an alarm clock app to become familiar with iOS platform and SDK. I'm using Local Notifications to handle my alarms, but I need some method of managing the Local Notifications I set so that they can be updated if I edit or remove any of the alarms associated with them. I figured out how I can unschedule a Local Notification using cancelLocalNotification:
function after it's been scheduled, but I'm having a hard time figuring out how to retrieve the Local Notification object associated with the alarm that was edited or removed so that I can use that function. I should note that all of my alarm objects that are used to create the Local Notifications are being stored in a Core Data DB and their interface is defined as...
@interface Alarm : NSManagedObject
{
}
@property (nonatomic, retain) NSNumber * Snooze;
@property (nonatomic, retain) NSNumber * AlarmID;
@property (nonatomic, retain) NSString * Label;
@property (nonatomic, retain) NSDate * Repeat;
@property (nonatomic, retain) NSD开发者_高级运维ate * Time;
@property (nonatomic, retain) NSNumber * Enabled;
@property (nonatomic, retain) NSString * Song;
@property (nonatomic, retain) NSString * Sound;
@end
- What's a good way to manage the Local Notifications my app schedules so that I can later retrieve those Local Notification objects and reschedule them if needed?
- Is there a way to retrieve the Local Notifications that have been scheduled by your app?
- If so, is there a way to identify them uniquely?
Thanks so much in advance for your help!
To answer question #2 use scheduledLocalNotifications
, which will get back to you NSArray of all notifications scheduled for your app.
To answer question #3 use userInfo
property of UILocalNotification
class. It's a dictionary and you can save anything you want there.
- You can retrieve all the local notifications your app has scheduled using the UIApplication classes scheduledLocalNotifications method.
精彩评论