Как добавить и прочитать элементы в список в iPhone? - PullRequest
1 голос
/ 12 сентября 2011

У меня следующая структура списка. Я действительно не понимаю, что делать для записи элементов в список, не перезаписывая существующие данные и не считывая их.

Ниже описан мой список. Пожалуйста, предложите мне подходящую логику кодирования для механизма хранения без перезаписи его содержимого и как я могу получить его позже.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PlacesID</key>
    <array/>
    <key>PlaceName</key>
    <array/>
</dict>
</plist>

У меня есть два массива, которые заполняются динамически, и я должен сохранить содержимое этого массива в этом списке. Как я могу достичь этого?

Кто-нибудь, помогите мне, пожалуйста.

Ищем положительный ответ ... Заранее всем спасибо ....

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Вот, пожалуйста: (замените «данные» на название вашего списка)

        NSError *error;
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //1
        NSString *documentsDirectory = [paths objectAtIndex:0]; //2
        NSString *path = [documentsDirectory stringByAppendingPathComponent:@"data.plist"]; //3

        NSFileManager *fileManager = [NSFileManager defaultManager];

        if (![fileManager fileExistsAtPath: path]) //4
        {
            NSString *bundle = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"]; //5

            [fileManager copyItemAtPath:bundle toPath: path error:&error]; //6
        }



        NSMutableArray *data = [[NSMutableArray alloc] initWithContentsOfFile: path];

        if ( [data containsObject:example]  ){
            value = [data count];
            NSString *count;

            count = [NSString stringWithFormat:@"%i", value];
        }
        else {

        [data addObject:example];

        [data writeToFile: path atomically:YES];
        value = [data count];
            NSString *count;

        count = [NSString stringWithFormat:@"%i", value];
        [data release];
    }
0 голосов
/ 12 сентября 2011

Если вы ищете руководство по чтению / записи в plist-файлы из вашего приложения, то, безусловно, есть несколько существующих вопросов / ресурсов, которые могут помочь вам от начала до конца.

Ознакомьтесь с этим руководством> http://www.icodeblog.com/2009/02/14/loading-data-from-plist-files/

Также проверьте эти вопросы;

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