que - La mejor manera de guardar datos en el iPhone
eliminar cuenta icloud iphone 6 (7)
Hay una manera sencilla de hacer exactamente esto para guardar:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:@"TextToSave" forKey:@"keyToFindText"];
Cargar:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *textToLoad = [prefs stringForKey:@"keyToFindText"];
Lo importante es que no almacena valores muy grandes en NSUserDefaults
. Existe la posibilidad de tener problemas con la revisión de Apple si lo hace.
En general, los valores predeterminados del usuario se utilizan para almacenar claves breves y preferencias, como el nivel de volumen de los usuarios, si desean usar el centro de juegos o enviar registros de fallos.
Estoy escribiendo una aplicación para iPhone y necesito guardar el estado de mi aplicación (5K o más).
Mi principal preocupación son los datos que persisten en las actualizaciones. Algunas de las aplicaciones que uso claramente obtuvieron este error, ¡y preferiría no hacerlo!
La forma más común de guardar el estado (datos, información de la aplicación, etc.) es usar Sqlite3 . No estoy seguro de cómo una actualización lo borrará, pero es posible que el proceso de actualización pueda sobrescribir el archivo de datos.
La otra opción sería usar UserPrefs (NSUserDefaults). Una vez más, no estoy seguro del tamaño máximo para eso, o incluso si sería adecuado para los datos que necesita persistir.
Para guardar el estado, NSUserDefaults es el camino a seguir. Creo que la mayoría, si no todas, las instancias de datos de aplicaciones que se eliminan después de una actualización se deben a problemas en la AppStore. Pueden estar relacionados con cambios de formato de datos, pero si utiliza solo NSUserDefaults y objetos estándar almacenables por plist (NSString, NSDictionary, NSNumber, NSArray, NSNumber y primitivos), debe estar seguro.
Realmente depende de lo que estás haciendo y tus necesidades.
Si se trata de una pequeña cantidad de datos NSUserDefaults es una gran manera de hacerlo. También puede guardar un diccionario o una matriz en la carpeta Documentos de la aplicación, luego cargar ese archivo de nuevo en el inicio.
SQLite es bueno, pero a menos que tengas una gran cantidad de datos que estarás consultando, es un poco exagerado por solo guardar el estado.
Uso sqlite para almacenar todos los datos de la aplicación y las preferencias. Para asegurarse de que las actualizaciones no borren los datos, asegúrese de que el archivo sqlite esté almacenado en el directorio de documentos de la aplicación, que no se sobrescribe con las actualizaciones. Algunos de los códigos de ejemplo ("Libros de SQLite" creo) que Apple proporciona tienen código para manejar esto.
para pequeñas cantidades de datos NSUserDefaults es una solución perfecta, si necesita una consulta ad hoc de datos, sqlite es el camino a seguir. Esas dos soluciones son perfectas para almacenar datos en el dispositivo. Si necesita más flexibilidad y capacidad, podría considerar datos remotos, es decir, servicios web y una base de datos de servidor.
Here hay un enlace a una discusión que proporcionó un muy buen ejemplo de cómo acceder a sus datos y qué tipo de esquemas de almacenamiento serían más beneficiosos bajo ciertas circunstancias. La solución de @Ben Gottlieb está en el objetivo, solo pensé que esta pregunta agregaría un recurso adicional. ¡Espero que esto ayude!