Je tente d'enregistrer un NSMutableArray avec NSUSerDefault, puis j'ouvre le tableau. Voici un code:NSMutableArray non enregistré NSUserDefault
-(IBAction)btnSave{
Class *aClass = [[Class alloc]init];
[email protected]"aaaxxx";
[email protected]"hello";
[myArray addObject:aClass];
NSUserDefaults *arrayDefault=[NSUserDefaults standardUserDefaults];
[arrayDefault setObject:myArray forKey:@"savedArray"];
[arrayDefault synchronize];
}
et
- (void)viewDidLoad
{
[super viewDidLoad];
myArray=[[NSMutableArray alloc]init];
NSMutableArray *savedArray=[[NSUserDefaults standardUserDefaults]objectForKey:@"savedArray"];
if(savedArray!=NULL){
myArray=savedArray;
[tableView reloadData];
}
// Do any additional setup after loading the view from its nib.
}
quand je compile et quand je pousse le bouton, c'est ce que je lis sur la sortie du journal:
[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '(
"<Class: 0x8452b40>"
)' of class '__NSArrayM'. Note that dictionaries and arrays in property lists must also contain only property values
et, évidemment, quand je rouvrir la vue le tableau n'est pas chargé. toute aide?
Ca marche !!! J'ai seulement changé une chose: sur "viewDidLoad" j'ai mis: si (storedData! = NULL) { myArray = [NSArray arrayWithArray: [NSKeyedUnarchiver unarchiveObjectWithData: données stockées]]; } – gabboSonc
oui qui vérifie si un tableau est déjà stocké dans UserDefaults ou non. bon travail. –
ok ça marche ... mais pas si bien. le problème est quand je veux ajouter un nouvel objet au tableau chargé. Quand je crée le nouvel objet et que je l'ajoute au tableau avec [myArray addObject: newObj] alors j'ai besoin de recharger le TableView et quand j'arrive à la partie de "cellForRowAtIndexPath": if (cell == nil) { \t \t \t \t [[NSBundle mainBundle] loadNibNamed: sLoadNibNamed propriétaire: self options: NULL]; \t \t cellule = [self typeNibLoadCell: aEquipaggio.idMembro]; \t} l'application va dans l'exception: [UITextFieldRoundedRectBackgroundView idMembro]: sélecteur non reconnu envoyé à l'instance – gabboSonc