2013-01-09 1 views
0

에서 사전을 읽는이가 잘 작동쓰기 PLIST 작품에 사전을하지만 이것은 내가있는 viewDidLoad 방법에 PLIST에 사전에 접근하고 어떻게 PLIST 반환 (널)

 NSString* documentsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
    NSString *fileName = [NSString stringWithFormat:@"Level.plist"]; 
    filePath = [documentsDir stringByAppendingPathComponent:fileName]; 
    array = [[NSMutableArray alloc] initWithContentsOfFile:filePath]; 
    dict = [array objectAtIndex:1]; 

, 내가 다음에 쓰기 이 같은 사전이 잘 너무, 나는이보기로 돌아가하고 사전에 대한 (NULL)을 반환있는 viewDidLoad 메소드에서 다시 사전에 액세스하려고하지만 일단 작동

score = [NSString stringWithFormat:@"%d", score.integerValue + 10]; 
    [dict setObject:score forKey:@"Score"]; 
    [dict writeToFile:filePath atomically: NO]; 

.

답변

0

파일을 배열로 읽었으므로 다시 파일을 다시 쓸 때 해당 사전이 포함 된 배열이 아니라 사전 만 쓰고 있기 때문입니다. 루트에 배열이 아닌 plist 파일을 읽기 위해 NSMutableArray를 사용하려고하면 nil이 반환됩니다. 따라서 코드의 마지막 줄에 을 array으로 바꾸면 그 트릭을 수행해야합니다.

+0

안녕하세요, 감사합니다.이 사실을 깨닫지는 못했지만 내 질문에는 대답하지 않았습니다. – Sami