Estoy construyendo una aplicación que utiliza NSCoding para guardar NSObject en un documentPath. No tengo problemas para hacer esto, solo tengo curiosidad por algo.¿Qué le sucede a un objeto NSArray cuando se codifica?
Tengo MACompany, que implementa los métodos de delegado NSCoding.
- (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
}
Como puede ver, tengo un NSArray de NSObjects personalizados (MAStore). Cada uno de estos objetos también implementa el mismo NSCoding que no.
Sin embargo, mi pregunta es, cuando llamo encodeWithCoder:(NSCoder *)encoder
método en el MAStore, y que llega a la [encoder encodeObject:stores forKey:kStores]
, serán todos los objetos almacenados dentro de la stores
NSArray han denominado el método encoderWithCoder:(NSCoder *)encoder
si se aplican?
EDITAR
La razón por la que estoy pidiendo esto es que me gustaría saber si es o no va a trabajar antes de invertir tiempo en hacer tal cosa. Tengo varios NSObjects personalizados con NSArrays que contienen más NSObjects personalizados. Sería un proceso largo descubrir que no funciona.
¡Muchas gracias! :RE –