Szukaj…


Wprowadzenie

Plist służy do przechowywania danych w aplikacji na iOS. Plist zapisuje dane w postaci tablicy i słowników. W Plist możemy zapisać dane jako: 1. Dane statyczne do wykorzystania w aplikacji. 2. Dane, które będą pochodzić z serwera.

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

wprowadź opis zdjęcia tutaj

b) Kliknij Lista właściwości w Zasobach

wprowadź opis zdjęcia tutaj

c) Nazwij listę właściwości, a plik zostanie utworzony jako (data.plist tutaj)

wprowadź opis zdjęcia tutaj

d) Możesz utworzyć listę tablic i słowników jako:

wprowadź opis zdjęcia tutaj

// 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.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow