Ho cercato di ottenere il NSKeyedArchiver di scrivere i miei dati in un formato leggibile (cioè non come un file binario) ho capito che posso usare ...NSKeyedArchiver scrive XML (o altri documenti leggibili dall'uomo)?
setOutputFormat: NSPropertyListXMLFormat_v1_0
Ma ... Ho appena non riesco a trovare la sintassi giusta, qualcuno può indicarmi la giusta direzione?
NSData *artistData;
NSLog(@"(*) - Save All");
artistData = [NSKeyedArchiver archivedDataWithRootObject:artistCollection ];
[artistData writeToFile:@"/Users/fgx/Desktop/stuff" atomically:YES];
EDIT
I setOutputFormat aggiunto (vedi sotto), ma ho ricevuto un avviso in fase di compilazione, cosa mi manca?
warning: NSData may not respond to 'setOutputFormat:'
Ecco il codice che ho usato.
NSLog(@"(*) - Save All");
artistData = [NSKeyedArchiver archivedDataWithRootObject:artistCollection ];
[artistData setOutputFormat: NSPropertyListXMLFormat_v1_0];
[artistData writeToFile:@"/Users/fgx/Desktop/stuff" atomically:YES];
Gary
Ah è così, sia tu che Sean, sottolineo che stavo usando il metodo di classe piuttosto che creare un'istanza, questo è sicuramente il posto dove stavo sbagliando. Anche il tuo diritto, la mia ragione principale era di aiutare a eseguire il debug di ciò che stava effettivamente accadendo nel file, la visualizzazione con BBEdit o TextWrangler è perfetta per quello di cui ho bisogno. Molto apprezzato. – fuzzygoat
+1 per suggerire TextWrangler. Non sapevo che potesse leggere il formato binario! –
La parte TextWrangler di questa risposta è fantastica. Sicuramente ho risparmiato un sacco di sforzi - non avevo idea che potesse farlo! – savvyx4