NSUserDefaultにNSMutableArrayを突っ込もうとしたら怒られました。
reason: Attempt to insert non-property list object
ここにバッチリ書いてありました。
iPhoneアプリ開発虎の巻
NSUserDefaultで保持できる型は、NSString型、NSNumber型、NSArray型、NSDictionary型、 NSData型、NSDate型のみです。
これ以外の型を保持させたい場合は一旦NSData型に変換してから保持し、読み込む時もNSData型として読み込んだ後に型変換を行う必要があります。
はい、覚えました。
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:mutableArray];
[userDefault setObject:data forKey:@"hoge"];
わーいできた〜