Obj.C

obj.C:archiverとunarchiver

良くわかっていなかったので、archiverとunarchiverのサンプルコードを作って動きを確認しました。

それでもまだちゃんと理解できていない可能性があります。サンプルプログラムでは、NSDataとNSStringを試してみました。

1. archiver: オブジェクトのバイナリ変換
2. unarchiver: その逆。バイナリからオブジェクトに変換

sample 1

  • オブジェクトをバイナリ変換。
  • その後、バイナリからオブジェクトに変換。
  • NSData

sample 2

  • オブジェクトをバイナリ変換してファイルに書き込み。
  • その後、ファイルを読み込み、オブジェクトに変換。
  • NSString

スクリーンショット 2014-02-15 15.38.48

iOS でオブジェクトをシリアライズしてファイルに保存する方法を参考にしました。現在取り組んでいるClipが終わったら、A Days In The Lifeのブログを次の勉強の候補のひとつにしてもいいかもしれません。

次のコメントとMyClipのサンプルコードとの関係をどう考えればいいのか気になります。文字通りに受け取れば、archiverを使わなくてもいいよということになります。最終的には、バイナリコードでin/outを調べないと、納得できる答えが得られないのかもしれません。

  • UIView と UIViewController は Interface Builder でインスタンス化された時にこの仕組みが使われています。これら両クラスのオブジェクトをプログラマが意識してアーカイブすることはあまりないと思います。

Categories: Obj.C, 技術

Tagged as: ,