Buscar..


Introducción

Plist se utiliza para el almacenamiento de datos en la aplicación iOS. Plist guardar datos en forma de Array y Diccionarios. En plist podemos guardar datos como: 1. Datos estáticos para usar en la aplicación. 2. Datos que vendrán del servidor.

Ejemplo:

1. Datos estáticos para ser utilizados en la aplicación.

Para guardar datos estáticos en plist siga estos métodos:

a) Agregar un nuevo archivo

introduzca la descripción de la imagen aquí

b) Haga clic en Lista de propiedades en Recursos

introduzca la descripción de la imagen aquí

c) Nombre la lista de propiedades y se creará un archivo como (data.plist aquí)

introduzca la descripción de la imagen aquí

d) Puedes crear una lista de arrays y diccionarios como:

introduzca la descripción de la imagen aquí

// Lee plist from bundle y obtén Root Dictionary de él

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

// Su diccionario contiene una serie de diccionarios // Ahora saque una matriz de él.

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

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

Guardar y editar / borrar datos de Plist

Ya has creado un plist. Esta lista seguirá siendo la misma en la aplicación. Si desea editar los datos en este plist, agregar nuevos datos en plist o eliminar datos de plist, no puede realizar cambios en este archivo.

Para este propósito, tendrá que almacenar su lista en el Directorio de documentos. Puede editar su lista guardada en el directorio de documentos.

Guardar plist en el directorio de documentos como:

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
{
     
}

Recupere los datos de Plist como:

    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"];

Puede editar eliminar, agregar nuevos datos según sus requisitos y guardar el plist nuevamente en el Directorio de documentos.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow