2012-04-12 8 views
1
MyObject : NSObject 
@property (nonatomic, strong) NSString *name; 
@property (nonatomic, strong) NSArray *notificationsArray; 

を予定しUILocalNotificationsを追跡するために、私は等の名前を編集することができ、私のtableViewでMyObjectsの配列、通知の時間を、持っていることは、現在、私は、それを設定しています現在のMyObjectがDataManagerのmyObjectArrayに保存されます。ユーザーが保存を押したときにどのように現在

DataManager : NSObject 
@property (nonatomic, strong) NSMutableArray *myObjectArray; 

私はMyObjectにの通知をスケジュールすることMyObjectにインスタンスをループするのDataManagerで私のメソッドを呼び出します。

ユーザーがMyObjectsの1つをクリックして時刻を編集し、そのオブジェクトの通知のみを再スケジュールするまで、これは問題ありません。私はあなたが得ることができることを知っています

[[UIApplication sharedApplication] scheduledNotifications]; 

しかし、これからどの通知がどのオブジェクトに向けられたのか分かりません。だから、このシナリオでは、私のアプリケーション全体のすべての通知をキャンセルし、DataManagerのmyObjectArrayを各MyObjectインスタンスごとループし、そのように各オブジェクトの通知をスケジュールする方が良いでしょうか?

ありがとうございます! UILocalNotificationクラスの

答えて

6

を参照してください。このようにそれをビルドします。

- (UILocalNotification *)notificationNamed:(NSString *)name { 

    for (UILocalNotification *notification in [[UIApplication sharedApplication] scheduledLocalNotifications]) { 
     NSString *notificationName = [notification.userInfo valueForKey:@"name"]; 
     if ([notificationName isEqualToString:name]) 
      return notification; 
    } 
    return nil; 
} 

UILocalNotification *notification = [[UILocalNotification alloc] init]; 
notification.userInfo = [NSDictionary dictionaryWithObject:@"myNotificationName" forKey:@"name"]; 

次に、このようにそれをルックアップします

0

使用userInfoNSDictionaryタイプ)プロパティ通知

をditinguishするには、ユーザ情報プロパティを使用して通知してカスタムデータを関連付けることができ、このlink

関連する問題