Я создаю приложение, которое использует NSCoding для сохранения объектов NSObject в documentPath.У меня нет проблем с этим, мне просто интересно кое-что.
У меня есть MACompany, которая реализует методы делегирования 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
}
Как видите, у меня естьNSArray пользовательских NSObjects (MAStore).Каждый из этих объектов также реализует то же самое NSCoding, что и нет.
Однако мой вопрос заключается в том, что когда я вызываю encodeWithCoder:(NSCoder *)encoder
метод в MAStore, и он попадает в [encoder encodeObject:stores forKey:kStores]
, все ли объекты будут храниться вstores
NSArray имеет метод encoderWithCoder:(NSCoder *)encoder
, вызываемый, если реализован?
РЕДАКТИРОВАТЬ
Причина, по которой я спрашиваю это, заключается в том, что я хочу знать, действительно лиэто сработает, прежде чем я потрачу время на это.У меня есть несколько пользовательских объектов NSO с NSArrays, которые содержат больше пользовательских объектов NSO.Было бы долгим процессом обнаружить, что он не работает.