コンポーネントに多くのプロパティを持つ複合構造があります。すべての参加者に NSCoding プロトコルを実装しました。強力なプロパティは適切にアーカイブされます。
しかし、すべてのコンポーネントにはその親への弱いリンクがあります。親を残りの所有オブジェクトとして単純にエンコードすると、デコード時に冗長/複製インスタンスが生成されると思います。
このような関係をオブジェクト グラフにアーカイブする方法は?
コンポーネントに多くのプロパティを持つ複合構造があります。すべての参加者に NSCoding プロトコルを実装しました。強力なプロパティは適切にアーカイブされます。
しかし、すべてのコンポーネントにはその親への弱いリンクがあります。親を残りの所有オブジェクトとして単純にエンコードすると、デコード時に冗長/複製インスタンスが生成されると思います。
このような関係をオブジェクト グラフにアーカイブする方法は?
条件付きエンコーディングを使用する必要があると思います- http://developer.apple.com/library/mac/documentation/cocoa/conceptual/Archiving/Articles/archives.html#//apple_ref/doc/uid/20000946-142208- BBCFHBHA - 弱参照。すぐに試してみます。
通常、条件付きオブジェクトは、オブジェクトへの弱い参照または保持されない参照をエンコードするために使用されます。
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Archiving/Articles/codingctypes.html#//apple_ref/doc/uid/20001294-BBCBDHBIによると
ポインタをエンコードして、デコード時に有用なものを取り戻すことはできません。ポインタが指している情報をエンコードする必要があります。これは、キーなしのコーディングにも当てはまります。