Quelles sont les options pour save des données dans iOS?

Je voudrais sérialiser un tas de données et l'save dans un file, puis pouvoir le charger (naturellement) et le lire avec une fonction que j'ai écrite. (Désolé si ma terminologie est éteinte, je suis un novice avec ce genre de chose.) Quelle est la meilleure façon de le faire avec iOS? De regarder la documentation ici:

Guide des comportements d'application standard

J'ai compris que je devrais utiliser NSSearchPathForDiriesiesInDomains pour find le directory de stockage racine approprié (Documents?), Puis utiliser NSData pour stocker ces tampons de données que je crée et les écrire dans un file. Suis-je sur ce point ou ai-je tort? Un autre conseil sage?

Vous pouvez utiliser plist.
Il est très facile d'save une list de strings ou d'autres données sans utiliser de données de base.
Voir le guide de programmation de la list des propriétés

Par exemple, ce code va save un object (rootObj) qui peut être un tableau ou un dictionary:

NSSsortingng *error; NSSsortingng *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSSsortingng *plistPath = [rootPath ssortingngByAppendingPathComponent:@"yourFile.plist"]; NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:rootObj format:NSPropertyListXMLFormat_v1_0 errorDescription:&error]; if(plistData) { [plistData writeToFile:plistPath atomically:YES]; } else { NSLog(@"Error : %@",error); [error release]; } 

Il y a quelques limitations sur la class supscope (voir le guide)

Cela dépend des données que vous écrivez. Si vous souhaitez principalement sérialiser des objects, consultez le protocole NSCoding . Si vous avez une structure de données simple qui n'est pas une class, vous pouvez la stocker dans un NSDictionary et l'save dans un plist. Et si vous avez un gros morceau de données (comme des milliers de flottants ou quelque chose comme ça), vous voudrez peut-être sauvegarder cela en utilisant NSData comme vous l'avez déjà laissé entendre. Dans tous les cas, assurez-vous de lire le Guide de programmation des archives et des serializations afin de ne pas réinventer la roue.

Oui, assez bonne direction. Vous devez implémenter quelque chose, c'est ce que l'on appelle le protocole NSCoding sur votre object pour pouvoir l'archiver et le désarchiver dans NSData. Voir l'exemple: Enregistrement de files sur iOS à l'aide de NSFileManager