2012-07-01 3 views
1

NSkeyedArchiver를 사용하여 디스크에 쓰여진 큰 NSDictionary가 있습니다. 이 사전은 매우 커질 수 있기 때문에 전체 내용을 메모리에로드 할 수 없습니다. 사전을 청크로로드하고 그 청크로 작업 한 후 다음 등으로 이동하여 메모리를 절약하는 가장 좋은 최선의 방법은 무엇입니까?NSkeyedArchiver를 사용하여 아이폰의 큰 데이터 세트로드

답변

0

모든 개체가 포함 된 큰 NSDictionary을 보관하려면 NSkeyedArchiver을 사용하지 마십시오.

보관 개체는 decodeObjectForKey:을 사용하여 encodeObject:forKey: 보관을 사용하지 않습니다.
이렇게하면 하나의 객체 만 검색하기 위해 전체 NSDictionary의 보관을 취소 할 필요가 없습니다.

+0

고마워요, 결국 NSJSONSerialization JSONObjectWithData : 데이터 옵션 : NSJSONReadingMutableContainers 오류 : &err] ;에 찬성하여 NSkeyedArchiver를 버렸습니다. 결과적으로 파일 크기가 훨씬 작아졌습니다. 나 또한 (작은) 별도의 개별 파일로 내 아카이브를 분할 끝나고 NSfilewrapper를 사용하지만 아픈가 올바른 대답으로 동의 – dubemike