J'ai un objet personnalisé qui hérite simplement de NSObject. Il a 3 membres - deux flotteurs et un NSDate
.Objets personnalisés persistants
Mon application va avoir un tableau avec un certain nombre de ces objets qui défilent, et j'ai besoin de le conserver entre les exécutions. Comment puis-je accomplir cela?
J'ai pensé à utiliser un SQLite db, mais je pense que c'est un peu exagéré puisque la seule requête que je ferais serait select *
.
Dans un monde idéal, je voudrais utiliser un fichier plist xml. Je ne suis pas sûr de pouvoir le faire avec mon objet personnalisé. Je sais qu'il existe un ensemble d'objets Liste de propriétés, et que NSArray
relève de cela, mais writeToFile:atomically:
fonctionne uniquement avec les objets de liste de propriétés.
Toutes les pensées seraient appréciées, merci!
Et cela produirait une belle plist? J'avais l'impression que l'écriture de NSData ne ferait que produire des données sérialisées et non pas une plist. – Jasarien
Cela produit une archive NSCoding - un fichier avec des copies préservées de vos objets, un peu comme un fichier nib (mais vous ne pouvez pas utiliser Interface Builder pour l'éditer). Le "Guide de programmation des archives et des sérialisations pour Cocoa" dans votre documentation l'expliquera. –
Par défaut, il archive dans un plist binaire, mais vous pouvez le changer en plist xml si vous le souhaitez. Malheureusement, il n'est pas vraiment lisible par l'homme car il contient des métadonnées de classe et de pointeur ainsi que vos données d'objet. –