ios - Almacenamiento de la configuración de la aplicación del iPhone en la aplicación
cocoa-touch settings (3)
Lea la Guía de archivos y redes de la Conexión de desarrollador de iPhone. Explicará cómo se obtiene la ruta para las diferentes ubicaciones predefinidas en el entorno limitado de la aplicación. Le recomendaría que utilice un NSDictionary para almacenar sus preferencias, que se pueden guardar fácilmente en el sistema de archivos y convertir en un plist.
Mi aplicación de iPhone tiene pocas configuraciones que los usuarios probablemente cambien con bastante frecuencia. Me gustaría saber si hay alguna forma sugerida de manejar tales configuraciones (leer y guardarlas). En los sitios de Apple, solo encontré un tutorial sobre la integración de la configuración de la aplicación con la aplicación Configuración ( link ), pero no quiero que un usuario salga de mi aplicación, así que solo podría cambiar la opción.
¿Existe algún mecanismo predeterminado para manejar tales configuraciones en la aplicación o tengo que implementar una solución por mi cuenta?
Si está buscando una interfaz de usuario para editar la configuración desde el interior de la aplicación, consulte InAppSettingsKit en http://www.inappsettingskit.com
La mejor y más sencilla forma de almacenar las configuraciones en el iPhone es a través de NSUserDefaults
. Le impide 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 lista de propiedades, es decir, una instancia de (o para colecciones una combinación de instancias de): NSData, NSString, NSNumber, NSDate, NSArray o NSDictionary. Si desea almacenar cualquier otro tipo de objeto, normalmente debe archivarlo para crear una instancia de NSData.
Hay algunas advertencias más, como si almacenara un NSDictionary los valores clave deben ser cadenas.