Question

Une vraie question de débutant.J'ai une sous-classe NSView dans laquelle je crée un NSMutableArray contenant des NSValues.Quand je veux écrire le tableau dans un fichier en utilisant writetofile:atomatically :le fichier est créé mais il ne contient aucune des NSValues ​​que contient le tableau mutable.Est-ce que quelqu'un sait comment je peux réussir à écrire ce tableau mutable dans un fichier ?

Merci

Était-ce utile?

La solution

Les NSValues ​​ne peuvent pas être enregistrées dans un plist (c'est ce que writeToFile:atomically :fait).Regarde ici pour les valeurs que vous pouvez enregistrer.(NSNumber est une sorte de NSValue que vous pouvez enregistrer, mais les autres NSValues ​​échoueront.)

Si vous souhaitez enregistrer votre tableau avec NSValues, vous pouvez utiliser archivage au lieu de writeToFile:atomically:.NSArray et NSValue prennent tous deux en charge l'archivage, vous convertissez donc simplement le tableau en archive et enregistrez ces données dans un fichier.(Il inclura également les NSValues.) Le code ressemble à ceci :

[NSKeyedArchiver archiveRootObject:myArray toFile:@"myPath"];

Pour le charger, utilisez simplement :

NSArray *myArray = [NSKeyedUnarchiver unarchiveObjectWithFile:@"myPath"];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top