Цель c: проблема с файлом каталога - PullRequest
0 голосов
/ 20 мая 2011

У меня есть этот код:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"File.plist"]; 


if([array writeToFile:path atomically: YES]){
    NSLog(@"write succesful");}
else {
    NSLog(@"write failed");
}

Я создаю в папке Resources файл «File.plist» и хочу сохранить в нем NSMutableArray. Когда я вызываю этот метод, сообщение в консоли «пишется успешно», но если я изменяю путь в

NSString *path = [documentsDirectory stringByAppendingPathComponent:@"FileAbstract.plist"];

сообщение когда-либо "написать успешно? Почему? Я изменил имя в пути.

1 Ответ

1 голос
/ 20 мая 2011

В этом коде вы пишете в директории документов, которая не имеет отношения к папке ресурсов в проекте.Вы не можете изменить файлы в папках ресурсов, запустив приложение.При первом запуске вы записали файл File.plist, а во втором - файл FileAbstract.plist, оба в каталоге документов.Они не имеют отношения к File.plist в папке ресурсов.

РЕДАКТИРОВАТЬ: Чтобы прочитать содержимое файла в массиве:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"File.plist"];

NSArray *array = [NSArray arrayWithContentsOfFile:path];
...