Suche…
Einführung
Beispiel:
1. Statische Daten zur Verwendung in App.
Um statische Daten in plist zu speichern, gehen Sie folgendermaßen vor:
a) Fügen Sie eine neue Datei hinzu
b) Klicken Sie in den Ressourcen auf Eigenschaftsliste
c) Benennen Sie die Eigenschaftsliste, und eine Datei wird erstellt als
d) Sie können eine Liste von Arrays und Wörterbüchern erstellen als:
// Lies die plist vom Bundle und hol das Root Dictionary raus
NSDictionary *dictRoot = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]];
// Ihr Wörterbuch enthält ein Array von Wörterbüchern. // Ziehen Sie jetzt ein Array heraus.
NSArray *arrayList = [NSArray arrayWithArray:[dictRoot objectForKey:@"Object1"]];
for(int i=0; i< [arrayList count]; i++)
{
NSMutableDictionary *details=[arrayList objectAtIndex:i];
}
Speichern und Bearbeiten / Löschen von Daten in Plist
Sie haben bereits eine Liste erstellt. Diese Liste wird in App unverändert bleiben. Wenn Sie die Daten in dieser Plist bearbeiten möchten, neue Daten in Plist hinzufügen oder Daten aus Plist entfernen möchten, können Sie keine Änderungen an dieser Datei vornehmen.
Zu diesem Zweck müssen Sie Ihre Liste im Document Directory speichern. Sie können Ihre im Dokumentverzeichnis gespeicherte Pliste bearbeiten.
Plist im Dokumentenverzeichnis speichern als:
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
{
}
Retreive-Daten von Plist als:
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"];
Sie können die Dateien entfernen, neue Daten hinzufügen und die Liste erneut im Dokumentverzeichnis speichern.