Domanda

Qualcuno può aiutarmi aggiungo i bambini ad un plist?

Credo che voglio registrare un indice di righe dal plist e poi affermare che riga di indice per scrivere la chiave troppo. Non sono sicuro di come dire se la chiave sarà una stringa, dizionario o un array.

Il seguente è il codice da un'altra domanda su come aggiungere una chiave a root.

 NSString *path = @"path/to/some/file";
 NSMutableDictionary *plist = [[NSDictionary dictionaryWithContentsOfFile:path] mutableCopy];
 [plist setObject:@"foo" forKey:@"aKey"];
 [plist writeToFile:path atomically:YES];
 [plist release];

Qualsiasi aiuto sarebbe molto apprezzato:)

È stato utile?

Soluzione

Nota: Ho ancora bisogno di aiuto, ma i progressi compiuti

.

Il seguente codice aggiungerà un plist serie nome della voce "Hi" con i bambini: Articolo 0, test1 Articolo 1, test2

NSMutableDictionary *plist = [[NSDictionary dictionaryWithContentsOfFile:databasePath] mutableCopy];
NSMutableArray *newArray = [[[NSMutableArray alloc] init] autorelease];
newArray = [NSArray arrayWithObjects:@"test1", @"test2", nil];
[plist setObject:newArray forKey:@"Hi"];
[plist writeToFile:databasePath atomically:YES];
[plist release];

Credo che facendo una voce di dizionario funzionerebbe lo stesso come elemento dell'array. Io non sono ancora sicuro di come aggiungere interi in bambini però: /

Altri suggerimenti

Qui è Se si fa tutto nel modo seguente è possibile scrivere un plist. Dizionario -> array -> string Dizionario -> dizionario -> Dizionario -> Array -> string ecc ...

Ecco il codice che crea un dizionario "Riga" che contiene un "Hi" matrice contenente 2 stringhe di nome collo 0 e Voce 1 con i nomi "di prova 1 e 2 di prova.

NSMutableDictionary *plist = [[NSDictionary dictionaryWithContentsOfFile:databasePath] mutableCopy];
NSMutableArray *newArray = [[[NSMutableArray alloc] init] autorelease];
NSMutableDictionary *newDictionary = [[[NSMutableDictionary alloc] init] autorelease];
newArray = [NSArray arrayWithObjects:@"test1", @"test2", nil];
newDictionary = [NSDictionary dictionaryWithObject:newArray forKey:@"Hi"];
[plist setObject:newDictionary forKey:@"Row"];
[plist writeToFile:databasePath atomically:YES];
[plist release];

Questa è la volontà di crash se si tenta di scrivere un articolo in cui 1 esiste già. Qualcuno sa come I cn consegnerà le chiavi stringa (vale a dire collo 0, punto 1, ecc ...) un nome?

Credo che le chiavi di stringa nome non può cambiare unico modo per dare chiavi e oggetti contemporaneamente sarà utilizzando NSDictionary

[NSArray arrayWithObjects:dictionary1, dictionary2];

Spero che questo aiuti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top