iPhone Dev.
NSArray를 plist 파일로 저장
NuBiFoRM
2011. 5. 4. 00:16
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"list.plist"];
NSMutableArray *list = [[NSMutableArray alloc] initWithContentsOfFile:path];
if (list == nil) {
list = [[NSMutableArray alloc] init];
}
[list addObject:@"서울"];
[list addObject:@"대전"];
[list addObject:@"대구"];
[list addObject:@"부산"];
[list writeToFile:path atomically:YES];
[list release];
다음과 같은 경로로 이동하면 list.plist 파일이 하나 생성되어 있다.
/Users/[User Name]/Library/Application Support/iPhone Simulator/[Version]/Applications/[Bundle Identifier]/Documents
이것을 Property List Editor로 열어보면 입력한 데이터를 확인할 수 있다.
여기서 중요한 것은 initWithContentsOfFile: 메서드를 통해서 NSArray 를 초기화 할때 해당 파일이 존재 하지 않는 경우 리턴되는 값은 nil 이라는 것이다. 그러므로 plist 파일을 읽어들여 초기화를 할 경우 반드시 nil 검사를 하여 파일이 존재하지 않을 경우 init 메서드를 통한 초기화가 필요하다.