NSCoding을 사용하여 NSObject를 documentPath에 저장하는 응용 프로그램을 빌드하고 있습니다. 이 작업을 수행하는 데 문제가 없습니다. 단지 뭔가 궁금합니다.인코딩 할 때 NSArray 객체는 어떻게됩니까?
나는 대리인 메서드를 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
}
위에서 알 수 있듯이 NSArray에는 사용자 지정 NSObject (MAStore)가 있습니다. 이 객체들 각각은 또한 동일한 NSCoding을 구현하지 않습니다. 구현 경우
는 그러나, 나는 MAStore에 encodeWithCoder:(NSCoder *)encoder
메소드를 호출하고,이 [encoder encodeObject:stores forKey:kStores]
에 도달 할 때 내 질문에,이다의 encoderWithCoder:(NSCoder *)encoder
방법이라는 stores
있는 NSArray에 저장된 모든 객체는 것?
편집
나는이 부탁 해요 이유는 내가 그런 일을에 시간을 투자하기 전에 작동됩니다 여부를 알고 싶어한다는 것입니다. 더 많은 사용자 지정 NSObject를 보유하는 NSArrays가있는 여러 사용자 지정 NSObject가 있습니다. 그것이 작동하지 않는다는 것을 발견하는 것은 긴 과정 일 것입니다.
대단히 감사합니다! :디 –