2014-09-05 9 views
1

사용자 정의 NSObject 클래스의 여러 인스턴스를 포함하는 배열을 인코딩해야합니다. 그러나, 그렇게에, 그것은 메시지와 충돌 반환NSCoding 인코딩 객체 배열

을 - [사람 encodeWithCoder :] : 인식 할 수없는 선택기 예를 0x8ff2c50

클래스가 여러 개의 속성과 모음으로 저장할 수를 포함

로 전송 수업의 목적입니다.

가 충돌하는시 인코더 방법은 다음과 같습니다

+0

다음은

NSCoding 프로토콜에 대한 문서입니다. – ManiaChamp

답변

3

당신은 당신의 Person 클래스의 NSCoding 프로토콜을 구현해야합니다. 인코딩하려는 컬렉션에 포함되어있는 경우를 포함하여 인코딩하려는 모든 사용자 정의 클래스는 NSCoding을 구현해야합니다.

encodeWithCoder:initWithCoder:을 구현해야합니다. 나는 그것이 작동합니다 희망

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSCoding_Protocol/Reference/Reference.html

0

..... 당신은 너무 당신에게 NSObject의 클래스 속성을 인코딩해야

-(void)encodeWithCoder:(NSCoder *)aCoder 
    { 
    [aCoder encodeObject:_arrayOfPeople forKey:@"DataStoragePeopleArray"]; 
    } 

-(id)initWithCoder:(NSCoder *)aCoder 
{ 
    if(self = [super init]){ 
    self.yourpoperty = [aCoder decodeObjectforKey:@"DataStoragePeopleArray"]; 
    } 
    return self; 
    }