2013-07-29 3 views
5

私はいくつかUILocalNotificationをスケジュールしようとしています。すでに作成された通知にアクセスする必要があります。既存のUILocalNotificationsのリストを取得して日付を変更する

UILocalNotificationのすべてのリスト/配列を作成することはできますか?既存のローカル通知の発射日を編集できますか?

これは私が地元の通知を作成するために使用するコードです:

UILocalNotification* localNotification = [[UILocalNotification alloc] init]; 
localNotification.fireDate = pickerDate; 
localNotification.alertBody = textFieldName.text; 
localNotification.alertAction = @"Item date expired!"; 
localNotification.timeZone = [NSTimeZone defaultTimeZone]; 
localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication] applicationIconBadgeNumber] + 1; 

答えて

6

NSArray *currentNotifications = [[UIApplication sharedApplication] scheduledLocalNotifications]; 

編集にこの配列の内容を現在の通知を取得するには(あなたが最初の可変コピーを作成する必要がある場合があります)を使用してそれを元に戻すように設定します。

[[UIApplication sharedApplication] setScheduledLocalNotifications:myNotifications]; 

myParti通知と新しいものは、古い値を上書きするので、この配列のUILocalNotificationオブジェクトのfireDateを編集することによって、それらが発生する日付を変更することができます。

4

あなたはこれが欲しいと思います。

[[UIApplication sharedApplication] scheduledLocalNotifications] 
1

はい、あなたはステートメントの下からすべてのローカル通知リストを取得することができます。

[[UIApplication sharedApplication] scheduledLocalNotifications]; 

そして編集のために、私はそれを試していないが、はい、通知の火災日付を変更することができますすることができます。 しかし、私の提案は、通知の他のすべての詳細を取得し、削除し、新しい通知を再作成することです。あなたはコードの下

UIApplication* objApp = [UIApplication sharedApplication]; 
NSArray* oldNotifications = [objApp scheduledLocalNotifications]; 

ですべてUILocalNotificationsを得ることができますし、また、あなたが怒鳴るコードでその通知をキャンセルすることができます

おかげ

関連する問題