Поиск…


Вступление

Plist используется для хранения данных в приложении iOS. Plist сохраняет данные в виде массива и словарей. В plist мы можем сохранить данные как: 1. Статические данные, которые будут использоваться в приложении. 2. Данные, которые будут поступать с сервера.

Пример:

1. Статические данные, которые будут использоваться в приложении.

Чтобы сохранить статические данные в plist, выполните следующие действия:

a) Добавить новый файл

введите описание изображения здесь

б) Нажмите «Список свойств» в разделе «Ресурсы»

введите описание изображения здесь

c) Назовите список свойств, и файл будет создан как (data.plist здесь)

введите описание изображения здесь

d) Вы можете создать слой массивов и словарей как:

введите описание изображения здесь

// Прочитайте plist из комплекта и извлеките из него Root Dictionary

NSDictionary *dictRoot = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]];

// Ваш словарь содержит массив словаря // Теперь вытащите Array из него.

NSArray *arrayList = [NSArray arrayWithArray:[dictRoot objectForKey:@"Object1"]];

for(int i=0; i< [arrayList count]; i++)
{
    NSMutableDictionary *details=[arrayList objectAtIndex:i];
}

Сохранять и редактировать / удалять данные из Plist

Вы уже создали слой. Этот планшет останется таким же в приложении. Если вы хотите отредактировать данные в этом plist, добавьте новые данные в plist или удалите данные из plist, вы не можете вносить изменения в этот файл.

Для этого вам нужно будет сохранить свой слой в Справочнике документов. Вы можете отредактировать свой plist, сохраненный в каталоге документа.

Сохраните plist в каталоге документа как:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];

NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:filePath];

NSDictionary *plistDict = dict;

NSFileManager *fileManager = [NSFileManager defaultManager];

NSString *error = nil;

NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:plistDict format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];

if (![fileManager fileExistsAtPath: plistPath]) {
    
    if(plistData)
    {
        [plistData writeToFile:plistPath atomically:YES];
    }
}
else
{
     
}

Получите данные Plist как:

    NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsPath = [paths objectAtIndex:0];
    NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"];
    NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
    
    NSArray *usersArray = [dict objectForKey:@"Object1"];

Вы можете отредактировать удаление, добавить новые данные в соответствии с вашим требованием и снова сохранить plist в Document Directory.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow