2012-12-18 4 views
2

NSKeyedUnarchiever로 객체를로드하는 데 문제가 있습니다.
내 개체는 배열과 같은 개체와 내 자신의 개체가 포함 된 NSDictionary입니다. 그것들은 모두 NSCoding Protocol을 준수합니다.NSKeyedUnarchiever 로딩 라인이 시작될 때 App 크래시가 발생합니다.

내가 이렇게 내 객체를 저장합니다

[NSKeyedArchiver archiveRootObject:myDictionary toFile:path]; 

이 코드와 같은 실행에 개체를로드하는 경우 :

myDictionary = [NSKeyedUnarchiver unarchiveObjectWithFile:path]; 

모든 작품.
하지만 앱을 종료하고 다시 열면이 행에서 충돌이 발생합니다.

누구에게 잘못된 생각이 있습니까?

답변

0

하면 저장이 성공 있는지 확인하십시오 귀하의 답변에 대한

if ([[NSFileManager defaultManager] fileExistsAtPath:path]) 
{ 
    // file does not exist at path (deleted?) 
    return; 
} 
+0

감사 :

if (![NSKeyedArchiver archiveRootObject:myDictionary toFile:path]) { // saving failed for some reason return; } 

또한 확인 파일을 보관 해제하기 전에 존재합니다. 그것은 해결책이 아니었지만 그것을 이해하는 데 도움이되었습니다. 내 수업 중 하나에서 모든 것을 엉망으로 만든 속성을 저장하려고했습니다. 모든 것을 고칠 수 있도록 수정했습니다. :) Martin Lücke – Redtoasty