Cómo almacenar los datos de mi aplicación en iOS

Para un conjunto simple de datos, me resulta más fácil serializar datos en un NSDictionary que se compone de un objeto y una clave. Puede iterar a través de sus datos creando un NSDictionary de cada objeto y agregar cada NSDictionary en un NSArray que luego puede escribirse en el disco. Las matrices pueden almacenar:

– NSArray
– NSData
– NSDictionary
– NSNumber
– NSString

Aquí hay un ejemplo:

// crea una matriz de diccionarios. convertir objetos en cadenas y guardar una matriz en el disco

– (nulo) saveDefaultListItems

{

// crea una matriz para el objeto

NSMutableArray * finalArray = [[NSMutableArray alloc] init];

for (int lCounter = 0; lCounter <self.defaultListItems.count; lCounter ++) {

// obtener objeto de la matriz

ListItem * singleListItem = [self.defaultListItems objectAtIndex: lCounter];

// obtener un objeto de cadena y guardarlo en el diccionario

NSMutableDictionary * dictionary = [[NSMutableDictionary alloc] initWithObjectsAndKeys: singleListItem.itemName, @ “itemName”, singleListItem.category, @ “category”, nil];

// agregar diccionario a la matriz

[finalArray addObject: diccionario];

//enjuague y repita

}

// esta es la forma recomendada en que las aplicaciones de iOS obtienen el directorio correcto en el que pueden guardar

NSArray * rootPath = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);

NSString * documentsDirectory = [rootPath objectAtIndex: 0];

NSString * filePath;

filePath = [documentsDirectory stringByAppendingPathComponent: [NSString stringWithFormat: @ “% @. plist”, SAVED_DEFAULT_ITEMS]];

// guardar mi matriz en el disco

[finalArray writeToFile: filePath atómicamente: SÍ];

}

Te recomiendo que revises la base de datos móvil de Realm (Realm Mobile Database). Es gratis y muy fácil de usar. Su documentación también tiene algunos ejemplos muy agradables sobre cómo implementarlo en su aplicación

iPhone viene con Core Data, su modelo de datos de alto nivel para guardar datos.

El único problema es que es específico de iPhone.

Si desea construir un modelo de datos portátil que también podría usar en un teléfono Android, puede usar SQLite.

SQLite es una base de datos SQL mínima. Tanto el iPhone como Android vienen con SQLite incorporado. Android tiene un buen soporte para SQLite. Acceder a SQLite en iPhone requiere una biblioteca de terceros o algún código C moderadamente desagradable.

Hay 3 opciones para conservar los datos en un dispositivo iOS.

  1. UserDefaults: se usa para almacenar pequeños bits de datos como detalles de inicio de sesión, token de autenticación, etc.
  2. Directorio de documentos: se utiliza para almacenar archivos como imágenes y medios.
  3. Sqlite DB usando CoreData: esta es una opción realmente poderosa y compleja mediante la cual puede crear una estructura / tabla para sus entidades y luego llenar la vista de tabla o recuperar datos de acuerdo con su consulta específica. Pero esto es complejo.
  4. Biblioteca de terceros: Realm es un ejemplo de este tipo, que proporciona funciones fáciles de almacenamiento y acceso. Es rápido y fácil de desarrollar.

———————————————————————————————
Gracias por leer, haga clic en upvote.
Sígueme para obtener respuestas más interesantes.

Para crear currículums impresionantes, use cvmkr en línea con plantillas fabulosas. Disponible de forma gratuita: cree CV profesional en 3 sencillos pasos

Acerca de mí: iOS Developer | Freelancer | Amante de los perros | Entusiasta de inicio

PRABAL – DESARROLLADOR DE APLICACIONES iOS

Puede usar SQLite o coredata (al final, ambos guardan los datos en un archivo de base de datos local). O puede usar herramientas de bases de datos de terceros.

More Interesting

Desde la perspectiva del desarrollador, ¿qué características nuevas e interesantes y cambios notables se encuentran en el SDK de iOS 6?

¿Puedo practicar la programación de iOS en una Mac sin un certificado de aprovisionamiento?

¿Cuál fue su experiencia al integrar Swift en un proyecto Objective-C?

¿Cómo me acostumbro a hacer la interfaz de usuario mediante programación en lugar de usar guiones gráficos?

¿Por qué se retuvo el efecto de rizado de página en iBooks para iOS 7?

¿Habrá suficiente demanda de desarrolladores nativos de Android / iOS en la segunda mitad de la década de 2010 y principios de 2020?

¿Cuáles son los pros y los contras de lanzar una aplicación para iPhone en la tienda iOS de EE. UU. Como beta pública?

¿Qué proyecto paralelo de desarrollo es estadísticamente más probable de ganar dinero?

¿Qué software / habilidades necesitaría para diseñar UX y codificar / desarrollar una aplicación de iOS como Tumblr o Snapchat y cuáles son los pasos que tendré que seguir?

¿Aprender iOS es una buena opción?

¿Cuál es la mejor compañía para desarrollar aplicaciones para iPhone?

¿Dónde puedo encontrar ejemplos detallados de wireframe de aplicaciones de iPhone?

¿Cuál es la forma más rápida y fácil de obtener datos meteorológicos con Swift?

¿Cómo se comunican las partes MVC entre sí?

¿Qué es range in- (BOOL) textField: (UITextField *) theTextField shouldChangeCharactersInRange: (NSRange) range replaceString: (NSString *) string?