Не можете найти файл plist в каталоге документов? Как программно изменить plist? - PullRequest
3 голосов
/ 13 октября 2011

У меня есть приложение в Xcode 4.2.

Я создал файл plist как мое требование.

Я нашел данные из основного комплекта приложений и получил данные в массив.

Но так как я хочу изменить данные plist во время выполнения, я не смог найти их в каталоге документов

На самом деле я хочу программно изменить plist. Хотя я не использую mainbundle.

-(NSString *) saveFilePath::(NSString *)tagString     
{
    NSArray *arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *strPath = [[arr objectAtIndex:0] stringByAppendingPathComponent:tagString];       
    return strPath;
} 

Не удалось получить файл plist. (Путь, который я получаю, но путь с файлом не получается)

Я также не смог найти физически файл plist в папке iphone simulator / App / Documents?

1 Ответ

6 голосов
/ 13 октября 2011

вам нужно сначала скопировать список из пакета в каталог документов

-(void) checkAndCreateSetting
{
    BOOL success;
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *writableDBPath= [documentsDirectory stringByAppendingPathComponent:@"Settings.plist"];
    success = [fileManager fileExistsAtPath:writableDBPath];
    if (success) return;
    // The writable database does not exist, so copy the default to the appropriate location.
    NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Settings.plist"];
    success = [fileManager copyItemAtPath:defaultDBPath toPath:writableDBPath error:&error];
    if (!success) {
        NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
    }
}

дайте мне знать в случае любого запроса благодаря & neils

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