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.