D'accord, cela créée bien le nombre de lignes nécessaires dans ma tableview. Mais quand j'essaie d'intégrer cette ligne: [rowObject setObject:valeur forKey:@client];
j'obtiens l'erreur suivante: *** -[NSCFDictionary setObject:forKey:]: mutating method sent to immutable object Alors que cela fonctionnait avant...
Concernant, le rafraà®chissement, il manquait effectivement un lien. C'est réglé.
Mais quand j'essaie d'intégrer cette ligne: [rowObject setObject:valeur forKey:@client];
Premièrement, cette ligne ne sert à rien, puis que rowObject est ici un dictionary qui a déjà une paire (object,key) pour key=@client. Tu lui redemande donc de replacer pour la clé @client l'objet qu'il y a déjà .  Inutile.
dans 1217249628:
j'obtiens l'erreur suivante: *** -[NSCFDictionary setObject:forKey:]: mutating method sent to immutable object
Ben oui [rs dictionaryForRecord] est sans doute une immutable instance de la classe NSDictionary, alors qu'il faudrait que cela soit un "mutable dictionary" , instance de NSMutableDictionary. Si par la suite tu veux que les lignes de ta table view soient mutables, voici le moyen :
Remplacer  NSDictionary rowObject=[rs dictionaryFromRecord]; par  NSMutableDictionary * rowObject=[[rs dictionaryFromRecord] mutableCopy]; rowObject sera alors un NSMutableDictionary.
dans 1217249628:
Alors que cela fonctionnait avant...
Forcément, model contenait des mutable dictionary (voir le awakeFromNib)
Mais quand j'essaie d'intégrer cette ligne: [rowObject setObject:valeur forKey:@client];
Premièrement, cette ligne ne sert à rien, puis que rowObject est ici un dictionary qui a déjà une paire (object,key) pour key=@client. Tu lui redemande donc de replacer pour la clé @client l'objet qu'il y a déjà . Inutile.
OK. Comment dois-je faire pour que mes valeurs s'affichent dans ma listview? Car avec le bout de code que tu m'as fourni, il n'y a que des lignes vides. Elles existent, il y en a le nombre prévu mais elle sont "vides"
OK. Comment dois-je faire pour que mes valeurs s'affichent dans ma listview? Car avec le bout de code que tu m'as fourni, il n'y a que des lignes vides. Elles existent, il y en a le nombre prévu mais elle sont "vides"
Tout est basé sur deux faits qu'il faut vérifier :
1) Le dictionnaire obtenu par [rs dictionaryFromRecord] a bien une clé client Pour le voir mettre NSLog(@%@",[rowObject objectForKey:@client]); dans la boucle while()
2) La table column a bien pour identifier "client" dans IB
2) La table column a bien pour identifier "client" dans IB
Le problème était là ; j'avais oublié de changer "first" par "client". Note qu'il faut non seulement que l'identifier soit "client" mais il faut aussi que le title le soit également. J'ai même réussi dans la foulée à afficher l'adresse du client dans ma seconde colonne 8--)
Réponses
Yes, un vrai record .
D'accord, cela créée bien le nombre de lignes nécessaires dans ma tableview.
Mais quand j'essaie d'intégrer cette ligne:
[rowObject setObject:valeur forKey:@client];
j'obtiens l'erreur suivante:
*** -[NSCFDictionary setObject:forKey:]: mutating method sent to immutable object
Alors que cela fonctionnait avant...
Concernant, le rafraà®chissement, il manquait effectivement un lien. C'est réglé.
Premièrement, cette ligne ne sert à rien, puis que rowObject est ici un dictionary qui a déjà une paire (object,key) pour key=@client.
Tu lui redemande donc de replacer pour la clé @client l'objet qu'il y a déjà . Â
Inutile.
Ben oui [rs dictionaryForRecord] est sans doute une immutable instance de la classe NSDictionary, alors qu'il faudrait que cela soit un "mutable dictionary" , instance de NSMutableDictionary.
Si par la suite tu veux que les lignes de ta table view soient mutables, voici le moyen :
RemplacerÂ
 NSDictionary rowObject=[rs dictionaryFromRecord];
par
 NSMutableDictionary * rowObject=[[rs dictionaryFromRecord] mutableCopy];
rowObject sera alors un NSMutableDictionary.
Forcément, model contenait des mutable dictionary (voir le awakeFromNib)
OK. Comment dois-je faire pour que mes valeurs s'affichent dans ma listview? Car avec le bout de code que tu m'as fourni, il n'y a que des lignes vides. Elles existent, il y en a le nombre prévu mais elle sont "vides"
Tout est basé sur deux faits qu'il faut vérifier :
1) Le dictionnaire obtenu par [rs dictionaryFromRecord] a bien une clé client
Pour le voir mettre NSLog(@%@",[rowObject objectForKey:@client]); dans la boucle while()
2) La table column a bien pour identifier "client" dans IB
Le problème était là ; j'avais oublié de changer "first" par "client".
Note qu'il faut non seulement que l'identifier soit "client" mais il faut aussi que le title le soit également.
J'ai même réussi dans la foulée à afficher l'adresse du client dans ma seconde colonne 8--)
Je te remercie vraiment beaucoup pour ton aide.