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:
- ¿Cuál es la información más confidencial recopilada en los registros enviados a Apple como probador beta de iOS 10?
- ¿Cómo puedo localizar completamente mi aplicación?
- ¿Es legal usar otros videos de youtube en mi aplicación móvil? Es una aplicación de ejercicios con ejercicios. Aún no estoy seguro si se pagará o no.
- ¿Está Objective-C 'más cerca del metal' que Swift?
- ¿Qué son los derechos de Xcode?
// 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Í];
}