NSCodingを利用してNSObjectをdocumentPathに保存するアプリケーションを構築しています。私はこれを行うのに問題はありません、私は何かについて興味があります。
NSCodingデリゲートメソッドを実装するMACompanyがあります。
- (void) encodeWithCoder:(NSCoder *)encoder {
[encoder encodeObject:address_1 forKey:kAddress_1];
[encoder encodeObject:address_2 forKey:kAddress_2];
[encoder encodeObject:city_town forKey:kCity_Town];
[encoder encodeObject:company_name forKey:kCompany_Name];
[encoder encodeObject:country forKey:kCountry];
[encoder encodeObject:date_added forKey:kDate_Added];
[encoder encodeObject:fax forKey:kFax];
[encoder encodeObject:parent_company_website forKey:kWebsite];
[encoder encodeObject:postal_code forKey:kPostal_Code];
[encoder encodeObject:state_province forKey:kState_Province];
[encoder encodeObject:type forKey:kType];
[encoder encodeObject:stores forKey:kStores]; //NSArray of custom NSObjects
}
ご覧のとおり、カスタムNSObjects(MAStore)のNSArrayがあります。これらのオブジェクトのそれぞれは、同じNSCodingを実装します。
ただし、私の質問は、encodeWithCoder:(NSCoder *)encoder
MAStoreでメソッドを呼び出して、に到達すると、 NSArray[encoder encodeObject:stores forKey:kStores]
内に格納されているすべてのオブジェクトに、実装されている場合に呼び出されるメソッドが含まれるかどうかです。stores
encoderWithCoder:(NSCoder *)encoder
編集
私がこれを求めている理由は、私がそのようなことをすることに時間を費やす前に、それがうまくいくかどうかを知りたいからです。より多くのカスタムNSObjectを保持するNSArrayを持つ複数のカスタムNSObjectがあります。それが機能しないことを見つけるのは長いプロセスになるでしょう。