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 메서드를 통한 초기화가 필요하다.
Posted by NuBiFoRM :