あなたがオブジェクトのパブリックプロパティを検査し、encodeWithCoderの一般的な実装を生成することで、一般的なNSCoding実装を書くことができるようになるのObjective-Cでの反射のいずれかの手段があります:とinitWithCoder:。のObjective-Cの反射
私は、リフレクションを使用してJavaオブジェクトをシリアライズおよびデシリアライズする一般的な方法を可能にするJavaのためのXStreamのようなものと思っています。さらに優れているのは、直列化したいプロパティや一時的なプロパティ(Javaのtransientキーワードなど)としてプロパティをマーキングするための手段でしょう。
私はココアのためArchives and Serializations Programming Guide上のドキュメントを読んでいます。私はあなたのオブジェクトのシリアル化をいくつかコントロールしたいと思っていますが、一般に対称的なプロセスであり、シリアライズのためにコード化されているものを逆シリアル化する必要があるのは奇妙です。私はDRYを信じています(繰り返しません)。