タイトルはそれをほとんど説明しています。最初にオブジェクトをシリアル化する必要がありますか?それとも可能ですか?
4 に答える
オブジェクト(配列内)のオブジェクトをコーディング/デコードし、配列をNSDataにアーカイブする必要があります。
追加するだけ
<NSCoding>
オブジェクトのクラス(配列内)に移動し、コンパイラの警告に従います:D
次に、次のように配列をアーカイブします。
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:yourArray];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:data forKey:@"yourKey"];
NSArray *array= [NSKeyedUnarchiver unarchiveObjectWithData:[defaults objectForKey:@"yourKey"];
これをチェックしてください http://soff.es/archiving-objective-c-objects-with-nscoding
はい、可能です。保存および取得中に NULL 値を処理する必要があるだけです。
シリアル化する必要があります。
NSUSerDefaults のアップルのドキュメントから:
NSUserDefaults クラスは、float、double、integer、Boolean、URL などの一般的な型にアクセスするための便利なメソッドを提供します。デフォルト オブジェクトは、プロパティ リスト、つまり、NSData、NSString、NSNumber、NSDate、NSArray、または NSDictionary のインスタンス (またはコレクションの場合はインスタンスの組み合わせ) である必要があります。他のタイプのオブジェクトを保存する場合は、通常、アーカイブして NSData のインスタンスを作成する必要があります。詳細については、プリファレンスおよび設定プログラミング ガイドを参照してください。