Szukaj…
Wprowadzenie
Przykład:
1. Dane statyczne do wykorzystania w aplikacji.
Aby zapisać dane statyczne w Plist, postępuj zgodnie z następującymi metodami:
a) Dodaj nowy plik
b) Kliknij Lista właściwości w Zasobach
c) Nazwij listę właściwości, a plik zostanie utworzony jako (data.plist tutaj)
d) Możesz utworzyć listę tablic i słowników jako:
// Przeczytaj plist z pakietu i wyciągnij z niego Root Dictionary
NSDictionary *dictRoot = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]];
// Twój słownik zawiera tablicę słownika // Teraz wyciągnij z niego tablicę.
NSArray *arrayList = [NSArray arrayWithArray:[dictRoot objectForKey:@"Object1"]];
for(int i=0; i< [arrayList count]; i++)
{
NSMutableDictionary *details=[arrayList objectAtIndex:i];
}
Zapisz i edytuj / usuń dane z Plist
Utworzyłeś już plist. Ten plist pozostanie taki sam w aplikacji. Jeśli chcesz edytować dane w tym liście, dodać nowe dane w liście i usunąć dane z listy, nie możesz wprowadzać zmian w tym pliku.
W tym celu będziesz musiał przechowywać swój plist w katalogu dokumentów. Możesz edytować swoją listę zapisaną w katalogu dokumentów.
Zapisz plist w katalogu dokumentów jako:
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
{
}
Pobierz dane z Plist jako:
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"];
Możesz edytować usuwać, dodawać nowe dane zgodnie z wymaganiami i ponownie zapisać listę w katalogu dokumentów.