nskeyedarchiver의 아카이브를 안정적으로 개방하고 편집 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1876673

문제

아래 코드와 같은 것을 사용하여 객체의 NSDictionary를 장치에 저장하고 있습니다. 이 아카이브를 열고, 포함 된 사전 항목으로 드릴 다운하는 방법이 있습니까? 이상적으로, 데이터를 편집 하시겠습니까? 저축 할 때 수행 된 최적화로 인해 아카이브를 해석하기가 어렵 기 때문에 내 추측은 안정적이지 않습니다. 속성 목록 편집기. 예를 들어, 내 객체 중 일부가 유사한 NSString을 공유하면 NSString이 한 번만 보관 된 것으로 보입니다. NSDictionary의 구조를 내가 기대했던 것과 변경합니다.

- (BOOL)writeDataToFile {
 NSMutableData *data = [[NSMutableData alloc] init];
 NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
 [archiver encodeObject:myDictionary forKey:kDataKey];
 [archiver encodeInteger:kDataFileVersion forKey:kDataVersionKey];
 [archiver finishEncoding];
 BOOL success = [data writeToFile:[self dataFilePath] atomically:YES];
 [archiver release];
 [data release];
 return success;
}
도움이 되었습니까?

해결책

진짜 질문은 "당신은해야합니까?"입니다. ... 아마 아니다.

물론 파일 형식을 구문 분석 할 수 있지만 그 형식은 구현 세부 사항입니다. ~할 수 있었다 변화하고 그만한 가치가 없습니다.

왜 이렇게하려고합니까? LA Core Data + SQLite를 증분 편집하려고합니까? 평범한 오래된 sqlite 자체가 당신의 문제를 해결합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top