Добавить новые элементы в plist с помощью устройства - PullRequest
0 голосов
/ 16 мая 2011

Я создал один plist в своем файле ресурсов и добавляю элементы в plist для exm:

    plistarray=[NSMutableArray arrayWithContentsOfFile:@"/Users/mangomac2/Desktop/chat module/complete (iphoneDesign) 2/picture-vide 2/Data.plist"];
    if (plistarray==nil)

        plistarray=[NSMutableArray array];
    [plistarray addObject:datadict];
    [plistarray writeToFile:@"/Users/mangomac2/Desktop/chat module/complete (iphoneDesign) 2/picture-vide 2/Data.plist" atomically:YES];
    [datadict release];

мои данные добавляются в plist, но всякий раз, когда я загружаю свой код на устройство, они также не добавляются в plist и не извлекаются в plist.

Пожалуйста, скажите мне, где я сделал ошибку.

1 Ответ

0 голосов
/ 16 мая 2011

Во-первых, вы жестко задаете путь к своему приложению, не принимая во внимание тот факт, что приложение будет установлено в разных местах на симуляторе на устройстве и, возможно, в разных местах на каждом другом устройстве.,И, во-вторых, кажется, вы пытаетесь обновить файл внутри пакета приложения;это недопустимо и может завершиться ошибкой, если iOS принудительно устанавливает недоступность для записи пакета приложения с помощью разрешений файловой системы.

Чтобы найти файл в вашем комплекте, вы должны использовать соответствующие методы NSBundle класс.Например, чтобы получить путь к файлу Data.plist, вы можете использовать [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"].

Если вы хотите изменить этот файл, вы должны сначала скопировать его в доступное для записи место (а затем в будущем).прочитайте это обратно из этого места, а не из вашей связки).Вы можете получить соответствующие каталоги, используя NSSearchPathForDirectoriesInDomains .Например, [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] даст вам путь к каталогу документов вашего приложения.Затем вы можете использовать что-то вроде [directory stringByAppendingPathComponent:@"Data.plist"], чтобы получить полный путь и имя файла для места, где вы можете хранить свой Data.plist.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...