Almacenamiento de configuración de la aplicación iPhone en la App
-
19-09-2019 - |
Pregunta
Mi aplicación para el iPhone tiene algunas opciones de configuración que es probable que cambie con frecuencia los usuarios. Me gustaría saber si hay alguna manera sugerida de manejar este tipo de configuración (lectura y guardarlos). En los sitios de Apple sólo encontré un tutorial sobre la integración de los valores de la aplicación con la aplicación de configuración ( enlace ) pero no quieren un usuario salir de mi aplicación por lo que sólo podría cambiar la opción.
¿Hay algún mecanismo por defecto para manejar este tipo de configuración de aplicación en sí o tengo para implementar una solución de mi propia?
Solución
El mejor y más fácil de almacenar la configuración en el iPhone es a través de NSUserDefaults
. le evita tener que lidiar con el sistema de archivos o plists o cualquiera de esas otras cosas.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *storedVal = @"This is what you want to save";
NSString *key = @"storedVal"; // the key for the data
[defaults setObject:storedVal forKey:key];
[defaults synchronize]; // this method is optional
// Get the results out
NSString *results = [defaults stringForKey:key];
Esto es lo que Apple dice sobre los tipos de objetos que puede almacenar en los valores predeterminados
Un objeto predeterminado debe ser una propiedad lista, es decir, una instancia de (o para colecciones una combinación de casos de): NSData, NSString, NSNumber, NSDate, NSArray o NSDictionary. Si desea almacenar cualquier otro tipo de objeto, se debe normalmente archivar para crear una instancia de NSData.
Hay algunas advertencias más, como si almacena una NSDictionary los valores clave deben ser cadenas.
Otros consejos
Si usted está buscando un interfaz de usuario para editar la configuración de dentro de la aplicación, echa un vistazo a InAppSettingsKit en http: // www.inappsettingskit.com
Archivo y la Guía de redes del iPhone Developer Connection. Se explicará cómo obtener la ruta de acceso para las diferentes ubicaciones predefinidas en la zona de pruebas. Me gustaría recomendar el uso de un NSDictionary para almacenar sus preferencias que pueden ser fácilmente guardados en el sistema de archivos y transformar en un plist.