Domanda

sto usando qualcosa come il codice qui sotto per salvare un NSDictionary di oggetti al dispositivo. C'è un modo per aprire questo archivio, drill-down nelle voci dizionario che contiene e, idealmente , modificare i dati? La mia ipotesi è no, non in modo affidabile, come l'ottimizzazione fatto quando il risparmio rende l'archivio di difficile interpretazione ... almeno sembra che modo, quando aperto con qualcosa come Property List Editor . Per esempio, se alcuni dei miei oggetti condividono un NSString simile sembra che detto NSString è archiviato solo una volta ... alterare la struttura del NSDictionary da quello che mi aspettavo.

- (BOOL)writeDataToFile {
 NSMutableData *data = [[NSMutableData alloc] init];
 NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
 [archiver encodeObject:myDictionary forKey:kDataKey];
 [archiver encodeInteger:kDataFileVersion forKey:kDataVersionKey];
 [archiver finishEncoding];
 BOOL success = [data writeToFile:[self dataFilePath] atomically:YES];
 [archiver release];
 [data release];
 return success;
}
È stato utile?

Soluzione

La vera domanda è "si dovrebbe?" ... probabilmente no.

Certo, si potrebbe analizzare il formato del file, ma questo formato è un dettaglio di implementazione che potrebbe e il cambiamento non è solo vale la pena.

Perché stai cercando di fare questo? Stai cercando di apportare modifiche incrementali alla Core Data + SQLite? Sarebbe semplicemente vecchio SQLite per sé risolvere il tuo problema?

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