Estoy intentando guardar una matriz, que tiene algunos diccionarios dentro, en un archivo plist pero falla. No obtengo ningún error Hago exactamente las mismas líneas de arriba en el código solo con otra matriz y eso funciona ... No puedo entender por qué no guarda el archivo.NSArray writeToFile falla
Aquí es donde puedo guardar el archivo: (ver algunos salida de un depurador a continuación)
// When built parse through dictionary and save to file
for (NSString *keys in [dicByCountry allKeys])
{
NSArray *arrr = [[NSArray alloc] initWithArray:[dicByCountry objectForKey:keys]];
NSString *fname = [self filePath:[NSString stringWithFormat:@"regions.cid%@.plist",keys]];
if (![arrr writeToFile:fname atomically:YES])
NSLog(@"Could not write file regions.cid%@.plist",keys);
}
Aquí alguna salida GDB
(gdb) po fname
/Users/chris/Library/Application Support/iPhone Simulator/4.0/Applications/44A9FF9E-5715-4BF0-9BE2-525883281420/Documents/regions.cid0.plist
(gdb) po arrr
<__NSArrayI 0x8022b30>(
{
countryID = "<null>";
region = "?\U00e2vora";
regionID = 16;
},
{
countryID = "<null>";
region = Vicenza;
regionID = 14;
},
{
countryID = "<null>";
region = Wales;
regionID = 23;
}
)
Gracias ese era el problema. – Chris
¿Qué hay de NSNumber? ¿Qué hay de nil? –
Las matrices no pueden contener 'nil' y la documentación no indica que' NSNumber's son válidas como valores de la lista de propiedades. – warrenm