制限の問題を解決するために UILocalNotification のキューを保存しようとしています。私はこのアプローチを使用しましたが、オブジェクトをアーカイブおよびアーカイブ解除しますが、最初のオブジェクトのみです。
NSMutableArray からすべてのオブジェクトをアーカイブするにはどうすればよいですか?
コード
// init/unarchive queue
if (self.queue == nil)
{
// try loading stored array
NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
NSData *dataRepresentingSavedArray = [currentDefaults objectForKey:@"LocalNotificationQueue"];
if (dataRepresentingSavedArray != nil) {
NSArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingSavedArray];
if (oldSavedArray != nil) {
self.queue = [[NSMutableArray alloc] initWithArray:oldSavedArray];
}
else
{
self.queue = [[NSMutableArray alloc] init];
}
}
else
{
self.queue = [[NSMutableArray alloc] init];
}
}
// add
[self.queue addObject:notif];
// store queue
[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:self.queue] forKey:@"LocalNotificationQueue"];
アイテム1、2、3を追加すると。再起動してロードします。私は3つしか持っていません。
1、2、3 を追加します。再起動してロードします。私は3、1、2を持っています。
それが問題なら。これは Phonegap/Cordova CDVPlugin です。