2012-05-13 4 views
0

NSDictionary에 저장된 세부 정보가 있습니다. iPad에서 Master-Detail보기를 사용하고 있으며 initWithCoder 메소드를 추가 한 후 시작시 앱이 다운되고 어떻게 작동하는지 알지 못합니다.NSCoder를 사용하면 시작시 응용 프로그램이 중단됩니다.

NSCoder를 사용하려는 이유는 내 사용자의 데이터를 저장하고 앱을 다시 시작하면 표시 할 수 있기 때문입니다. 데이터를 쉽게 처리 할 수 ​​있도록 사전에 UITextFields 및 UISegmentedControls를 저장하므로 NSUserDefaults를 사용할 수 없습니다.

- (id)initWithCoder:(NSCoder *)aDecoder { 
    if (self = [super init]) { 
     personInfo = [aDecoder decodeObjectForKey:myString]; 
    } 

    return self; 
} 

- (void)encodeWithCoder:(NSCoder *)aCoder { 
    [aCoder encodeObject:personInfo forKey:myString]; 
} 

누구나 올바르게 사용법을 알려주시겠습니까?

+0

이 다른 질문은 어떤 사용인가하여 고정? http://stackoverflow.com/questions/3943801/objective-c-how-do-i-use-initwithcoder-method –

+0

그것은 조금 도움이되었습니다. 더 이상 충돌하지 않습니다. 인코딩 후 해당 데이터를 저장하는 방법을 알려주시겠습니까? –

+0

아마도 그렇지 않습니다. 나는 코코아에 대해 모른다 :-). 그러나 코드가 더 이상 충돌하지 않지만 여전히 그 코드가 무엇을하는지에 만족하지 않으면 새로운 상태를 반영하거나 새로운 것을 게시하기 위해 질문을 수정해야합니다. (원래 잘못되었던 것이 무엇이든지 고쳐지면, 문제가 무엇인지, 어떻게 고쳤는지에 대한 대답을 게시하고 자신의 대답을 수락하면 미래의 독자에게 도움이 될 것입니다.) –

답변

0

단순히

self = [super initWithCoder:aDecoder] 

말을 대신

self = [super init] 
관련 문제