2011-07-26 5 views

답변

1

아니요, 직접 처리해야합니다.
Archives and Serializations Programming Guide에서 쉽게 확인할 수 있으며 예제를 보면 두 방법 (finishDecodingrelease)이 호출됩니다.

+0

맞아, 고마워. 문제는 내가 풀어 낼 때 NSMutableArray의 내용이 손실된다는 것입니다. _connectedSystems = [unarchiver decodeObjectForKey : kSystemsDataKey]; [unarchiver finishDecoding]; EEMSystem * system = [_connectedSystems objectAtIndex : 0]; NSLog (@ "% @", system.name); 이것은 내게 이름을 알려줍니다. 그러나 [unarchiver release]를 추가하면; [unarchiver finishDecoding] 이후; 나는 일하지 않는다. –

+0

@Man of One Way - 궁금한 점이 있긴하지만 이것은'release' 메소드의 간단한 호출과 관련 될 수 없습니다. 코드 스 니펫 (code snippet)을 제공하는 다른 질문을하여 그것이 무엇인지 알아내는 것이 좋습니다. –

+0

문제는 - (id) initWithCoder : (NSCoder *) aDecoder를 실행하고 [aDecoder decodeObjectForKey : kEEMSystemNameKey];를 실행할 때 문제가 발생해야합니다. 내 끈에. 먼저 NSString을 할당해야합니다. 그렇지 않으면 내 시스템의 NSString * 이름이 아카이버에서 무언가를 가리키고 일단 해제되면 사라질 것입니다. –

관련 문제