Tengo un plist en mi aplicación de iPhone y quiero leer y escribir un número entero desde mi único y formarlo.Escribir/Leer archivo plist iPhone
tengo esto que leyó:
scoreData *score = [scoreData sharedData];
filePath = @"stats.plist";
NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
score.highScore = [plistDict objectForKey:@"score"];
Luego de escribir en él:
scoreData *score = [scoreData sharedData];
NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
[plistDict setValue:score.highScore forKey:@"score"];
[plistDict writeToFile:filePath atomically: YES];
estoy recibiendo un error en dos partes:
La conversión no es la forma objc_object * a int
y
Formulario de conversión no válido int objc_object
Agradezco cualquier ayuda, gracias.
Crea sin errores nw que es genial! Pero cambio score.highScore, luego salgo de la aplicación por completo, reinicio y vuelve a cero, nunca recupera el valor. Agradecería la ayuda, gracias. –
Descubrimiento interesante. Creo que el código lo estoy usando escribiendo en el plist y leyéndolo pero sin guardarlo para la próxima vez que uso la aplicación. ¿Posible? ¿Cómo puedo evitar esto? –
Probablemente no funcione porque está intentando escribir el diccionario en un archivo .plist dentro de su paquete de aplicaciones, que es de solo lectura. Debería verificar el valor devuelto de '[plistDict writeToFile: filePath atómicamente: YES];' (SÍ = éxito, NO = escritura fallida). Intenta escribir el archivo en una ruta en la carpeta de documentos del paquete de aplicaciones, que es de lectura-escritura.Se puede obtener la ruta de los documentos usando: NSArray * arrayPaths = \t \t NSSearchPathForDirectoriesInDomains ( \t \t \t NSDocumentDirectory, \t \t \t NSUserDomainMask, \t \t \t SI); \t NSString * docDir = [arrayPaths objectAtIndex: 0]; –