2009-09-24 6 views
0

NSMutableDictionary 객체가 obj입니다. [obj writeToFile:filename atomically:YES]을 사용하여 디스크에 기록하면 파일이 디스크에 기록되지 않습니다. 그러나 더 작은 변경 가능한 사전에 대해서도 동일한 명령문 세트가 작동합니다.NSMutableDictionary가 파일에 쓰여지지 않습니다.

첫 번째 obj(nonatomic, retain) 클래스의 속성 개체입니다. 두 번째 작은 obj은 임시 로컬 변수입니다.

답변

2

그러나 동일한 일련의 문장은 더 작은 변경 가능한 사전을 위해 을 작동합니다.

경고음이 울립니다. 즉, 큰 사전을 디스크에 쓰려고 할 때 그 안에 무엇이 들어 있습니까? NSDictionary의 파일 쓰기 메소드를 사용하는 경우 에만 사전을 사용하여 속성 목록에 사용하기 위해 축복 된 클래스의 인스턴스가 포함됩니다.

즉, 다른 임의의 클래스가있는 경우 사전이 작성되지 않습니다. 클래스의 문제가 NSCoding을 지원하는지 여부는 문제가되지 않습니다.

속성 목록이없는 클래스로 사전을 유지해야하는 경우 NSCoding을 사용하거나 더 나은 경우 Core Data를 사용해야합니다.

0

이렇게하면됩니다. 어떤 사고로 objnil이 아닌지 확인하셨습니까?

+0

NSLOG (obj)가 작동하는 것 같습니다 : ( – Amal

+0

파일 이름도 존재합니까? –

관련 문제