2011-08-21 3 views
0

J'ai une classe singleton qui stocke trois NSMutableArrays. Chaque tableau stocke environ 4 à 5 éléments d'un objet personnalisé que j'ai appelé Program. Comment puis-je stocker ces éléments au-delà de l'instance d'application en cours?Persistance des données - Classe Singleton

Dois-je utiliser Core Data? Je pense que c'est trop simple pour Core Data. J'utilise déjà Core Data pour un stockage plus complexe dans mon application. Y at-il quelque chose comme NSUserDefaults où je serai en mesure de stocker ces tableaux avec des objets personnalisés et de les récupérer facilement?

Merci

Répondre

2

NSUserDefaults ne peuvent pas stocker des objets arbitraires, mais seulement des cas de NSData, NSString, NSNumber, NSDate, NSArray ou NSDictionary. Vous pouvez toutefois convertir votre objet en l'un de ceux-ci - par ex. en utilisant NSKeyedArchiver:

+ (NSData *)archivedDataWithRootObject:(id)rootObject 

(mettre en œuvre que les deux méthodes de protocole NSCoding dans votre classe de programme).