NSKeyedArchiver
またはを使用して、アレイをアーカイブする必要があるようですNSArchiver
。最初に配列を NSData オブジェクトにアーカイブする場合:
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:myArray];
次に、そのデータを次のように NSUserDefaults に保存できます。
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"myArray"];
配列をロードするには、次を使用します。
NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:@"myArray"];
NSArray *myArray = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSMutableArray を使用する場合はNSArray
、上記のコードの出現箇所をNSMutableArray
. またはNSMutableArray *myMutableArray = [myArray mutableCopy]
、操作する NSMutableArray を提供することもできます。
しかし、NSCoding 準拠にするのに苦労するなら、ファイルにアーカイブしてみませんか?
アーカイバーを使用する必要があると思わせたドキュメントはここにあるので、自分で確認してください。