1

Je suis en train de stocker une NSMutableArray d'images en utilisant le stockage persistive mais il n'est pas stockerincapable d'enregistrer une NSMutableArray d'image en utilisant un stockage persistant

ici est mon code

[imagingList addObject:image ]; //image is of type UIImage 
imagingHistory=[NSUserDefaults standardUserDefaults]; 
[imagingHistory  setObject:imagingList   forKey:@"imaging history" ]; 

et à mon avis ne charge que j'écris

imagingList  = [[NSUserDefaults standardUserDefaults] mutableArrayValueForKey:@"imaging history" ]; 

quand je re-charger l'application la liste des objets est remis à zéro

Ai-je raté quelque chose?

Répondre

1

Vous ne pouvez pas enregistrer un UIImage directement dans les valeurs par défaut de l'utilisateur. Vous devez d'abord le convertir en un NSData. Juste par hasard, quand je cherchais la page de référence NSUserDefaults pour répondre à cette question, un a tutorial on how to do exactly what you want trouvé.

1

Hmm vous ne devriez vraiment pas essayer d'enregistrer UIImages dans NSUserDefaults. Jetez un oeil à cette ressource https://discussions.apple.com/thread/1729849?start=0&tstart=0 il explique comment obtenir le NSData de l'image et l'écrire dans un fichier. De là, vous pouvez enregistrer une référence (NSURL ou NSString) au chemin de l'image dans le répertoire de votre application et vous pouvez le charger à partir de là en utilisant quelque chose comme UIImage aImage = [UIImage imageWithData: [NSData datWithContentsOfURL: pathURL]].

Espérons que ça aide.

Questions connexes