Sök…
Introduktion
Exempel:
1. Statisk data som ska användas i appen.
För att spara statiska data i plist följer du dessa metoder:
a) Lägg till en ny fil
b) Klicka på Egenskapslista i resurser
c) Namnge egendomslisten och en fil skapas som (data.plist här)
d) Du kan skapa en plist av Arrays och ordböcker som:
// Läs plist från bunt och ta bort Root Dictionary ur det
NSDictionary *dictRoot = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]];
// Din ordlista innehåller en matris med ordlista // Dra nu en matris ur den.
NSArray *arrayList = [NSArray arrayWithArray:[dictRoot objectForKey:@"Object1"]];
for(int i=0; i< [arrayList count]; i++)
{
NSMutableDictionary *details=[arrayList objectAtIndex:i];
}
Spara och redigera / ta bort data från Plist
Du har redan skapat en plist. Denna plist kommer att förbli densamma i appen. Om du vill redigera data i denna plist, lägga till nya data i plist eller ta bort data från plist, kan du inte göra ändringar i den här filen.
För detta ändamål måste du lagra din plist i dokumentkatalog. Du kan redigera din plist som är sparad i dokumentkatalogen.
Spara plist i dokumentkatalogen som:
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
{
}
Återuppta data från Plist som:
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"];
Du kan redigera ta bort, lägga till nya data enligt ditt krav och spara plisten igen i Dokumentkatalog.