2011-05-01 3 views
0

안녕하세요 "USER"님이 테이블보기에 만드는 새로운 구성을 저장하는 방법을 찾는 데 도움이 필요합니다.Xcode의 테이블보기 저장

"AppDelegate.h 및 .m"에서 수행되는 방법에 대해 조금 익숙하지만 실제로 네비게이션 기반 응용 프로그램을 사용하고 있으며 위임자와 ViewController를 제공합니다.

사용자가 새보기로 전환 할 때 새 테이블보기를 저장하도록 프로그래밍하는 방법은 무엇입니까? AppDelegate를 통해이를 수행 할 필요가없는 방법이 있습니까?

당신은

답변

2

가장 좋은 방법은 문서 디렉토리에 .plist 파일에있는 tableView의 데이터 소스를 저장하여이 될 것입니다 감사합니다. 그런 다음 viewWillAppear 메서드에서 tableView의 데이터 소스를 .plist 파일로 설정합니다 (사용 가능한 경우).

데이터 소스는 일반적으로 NSDictionary/Mutable 또는 NSArray/Mutable입니다. 그들은 모두 문서 디렉토리에 쓰기의 방법과 같이 검색 할 수 있습니다

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

하여 문서 디렉토리에 나열된 중 하나를 작성하는 방법과 같이 될 것이다 :

BOOL saved = [datasource writeToPath:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"] atomically:YES]; 

if (saved) { 
//saved datasource to .plist file. 
} 
else if (!saved) { 
//did not save; 
} 

하는로드하려면 문서 디렉토리에서 PLIST, 당신은 먼저 거기 있는지 확인해야합니다 :

if ([[NSFileManager defaultManager] fileExistsAtPath:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"]]) { 
     countryMArray = [[NSMutableArray alloc] initWithContentsOfFile:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"]]; 
} 
else { 
    //it is not there, we need to write it to the documents directory 
    [datasource writeToPath:[documentsDirectory stringByAppendingPathComponent:@"savedDatasource.plist"] atomically:YES]; 
} 

행운을 빕니다!