que han estado tratando de conseguir el NSKeyedArchiver para escribir mis datos en un formato legible por humanos (es decir, no como un archivo binario) Entiendo que puedo usar ...NSKeyedArchiver escribir XML (u otra legible para humanos)?
setOutputFormat: NSPropertyListXMLFormat_v1_0
Pero ... solo Parece que la sintaxis no es correcta, ¿alguien puede señalarme en la dirección correcta?
NSData *artistData;
NSLog(@"(*) - Save All");
artistData = [NSKeyedArchiver archivedDataWithRootObject:artistCollection ];
[artistData writeToFile:@"/Users/fgx/Desktop/stuff" atomically:YES];
EDITAR
añadí setOutputFormat (véase más adelante), pero recibo una advertencia durante la compilación, lo que me estoy perdiendo?
warning: NSData may not respond to 'setOutputFormat:'
Aquí está el código que utilicé.
NSLog(@"(*) - Save All");
artistData = [NSKeyedArchiver archivedDataWithRootObject:artistCollection ];
[artistData setOutputFormat: NSPropertyListXMLFormat_v1_0];
[artistData writeToFile:@"/Users/fgx/Desktop/stuff" atomically:YES];
Gary
Ah, eso es todo, ya que tanto usted como Sean señalan que estaba usando el método de clase en lugar de crear una instancia, ciertamente es donde me estaba yendo mal. También a la derecha, mi razón principal fue ayudar a depurar lo que realmente estaba entrando en el archivo, verlo con BBEdit o TextWrangler es perfecto para lo que necesito. Muy apreciado. – fuzzygoat
+1 por sugerir TextWrangler. ¡No sabía que podría leer el formato binario! –
La parte de TextWrangler de esta respuesta es increíble. Definitivamente ahorré un montón de esfuerzo, ¡no tenía idea de que podría hacer esto! – savvyx4