리소스 번들에서가 아니라 디스크 (문서, 응용 프로그램 캐시 등)에서 plist 파일을로드하려고합니다.iOS에서 NSDictionary로 디스크에서 plist 파일을로드하는 방법은 무엇입니까?
당신은 파일에서 -initWithContentsOfFile: 또는 +dictionaryWithContentsOfFile:로드합니다 PLIST에 액세스 가능한 파일 경로에서 PLIST을로드가 존재하지 않은 경우 파일을 만들 수 있습니다
리소스 번들에서가 아니라 디스크 (문서, 응용 프로그램 캐시 등)에서 plist 파일을로드하려고합니다.iOS에서 NSDictionary로 디스크에서 plist 파일을로드하는 방법은 무엇입니까?
당신은 파일에서 -initWithContentsOfFile: 또는 +dictionaryWithContentsOfFile:로드합니다 PLIST에 액세스 가능한 파일 경로에서 PLIST을로드가 존재하지 않은 경우 파일을 만들 수 있습니다
:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
self.plistFile = [[paths objectAtIndex:0]
stringByAppendingPathComponent:@"example.plist"];
self.plist = [[NSMutableDictionary alloc] initWithContentsOfFile:plistFile];
if (!plist) {
self.plist = [NSMutableDictionary new];
[plist writeToFile:plistFile atomically:YES];
}
약간 청소기 :
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"plistName" ofType:@"plist"];
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath];
은 디렉토리에 따라 다르지만 documentdirectory! = resource path – M0rph3v5
Plist의 루트 개체는 사전이어야합니다. 루트 객체가 배열 인 경우에는 [[NSArray alloc] initWithContentsOfFile : plistFile]을 사용해야합니다. – Ash