3

NSCoding プロトコルに準拠し、すべてのエンコードとデコードを行うクラスを作成しました。

私のアプリでは、単にオブジェクトをそのクラスからデバイスに保持し、次にアプリを起動したときにそのオブジェクトをメモリにロードし直したいと考えています。

基本的には、ユーザー入力情報を保持する単なるクラスです。たとえば、ユーザーがテキストを書き始めた後、アプリを終了したとします。次回は、そのデータ オブジェクトをロードしたいと思います。

NSKeyedArchiver が必要だと思いますか? これに関する良いチュートリアルはありますか?それ、どうやったら出来るの?

4

1 に答える 1

3

はい、NSKeyed(Un)Archiver が必要です。これらの 2 つのクラスは、オブジェクトをファイルとして保存/ロードできる NSData との間で変換できます。

オブジェクトをファイルに保存するには:

if (![NSKeyedArchiver archiveRootObject:your_object toFile:@"filename.plist"])
   // save failed.

ファイルからオブジェクトを読み取るには:

id your_object = [NSKeyedUnarchiver unarchiveObjectWithFile:@"filename.plist"];
if (your_object == nil)
  // read failed.
于 2010-03-15T21:14:04.163 に答える