NSDictionary
gogaule
Membre
Bonsoir .
Je voudrais créer un NSDictionary .
J' ai écrit ce code :
Avec cela si j'ai bien compris vos explications , sur les post anciens que je relis ; je retiens ? les valeurs entrées dans les colonnes , et les ré-adressent à la column Total . Oublié "retain" ?
Merci
Cordialement
Je voudrais créer un NSDictionary .
J' ai écrit ce code :
Avec cela si j'ai bien compris vos explications , sur les post anciens que je relis ; je retiens ? les valeurs entrées dans les colonnes , et les ré-adressent à la column Total . Oublié "retain" ?
Merci
Cordialement
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ensuite, un NSDictionary est non-modifiable, ce qui fait que ton [[NSDictionary alloc] init] te retourne un dictionnaire vide que tu ne pourras pas modifier.
Et pour finir, un dictionnaire stocke un ensemble de couple de clés/valeurs, à chaque valeur est associé une clé et on récupère la valeur selon la clé...
Mais comme, personnellement, je te l'ai dit plusieurs fois, tu peux te contenter d'utiliser une classe de données contenant chacun des champs que tu souhaites...
ça reste la méthode la plus adaptée, notamment parce que par défaut le dictionnaire n'est pas capable d'additionner une série de champs...
Sinon, si tu tiens vraiment à utiliser un dictionnaire, il vaut mieux utiliser un NSMutableDictionary qui permet, comme son nom l'indique, de créer des dictionnaires modifiables.
Oui ,
Après réflection ,le post étant déja parti .
Un NSMutableDictionary , oui .
Ce que je désirerais surtout c'est l'analyse de mon code ,savoir pourquoi il ne fonctionne pas .Et si je suis sur la bonne voie .Si les phrases sont bonnes .(Pour le code .)Dois-je mettre un retain ? ou .
J'ai relu tous les post des forums .
Merci
Cordialement.
Cette ligne demande t-elle bien de retenir les valeurs contenues dans les colonnes , dois-je spécifié une ligne ?
Donc NSMutableDictionary *dico=[[NSMutableDictionary alloc] init]; /Je créé le dico .
Merci a toi
Cordialement.
Primo, une méthode qui prend des paramètres contient un deux-point ":" dans son nom.
Secondo, il n'existe aucune méthode -setObject: définie dans NSDictionary ou même dans NSMutableDictionary.
Et tertio, à fortiori il n'existe pas de méthode -setObject: avec nombre d'arguments variable !
Ensuite, un message s'écrit comme ça : [receveur message], qu'est-ce que c'est que ça :
?
Et pour finir, il faudrait que tu aies un NSMutableArray qui stocke plusieurs NSMutableDictionary pour qu'il soit valable !
Là ce que tu m'écris c'est du grand n'importe quoi, tu confonds colonnes et rangés...
Merci .
Je vais abandonner la création d' un NSMutableDictionary Compliqué .
J' ai recommencé mon appli depuis le début en suivant vos conseil .
J' ai édité le code MyControleur .h (5 lignes de code )
débuguer et créé l'appli , miracle la fenêtre s'ouvre avec les colonnes .
Le fichier MyControleur .m est écrit cela ce fait automatiquement ?
Je vais essayer de coder ligne après ligne , si je ne réussi pas , je vous aurai fais perdre votre temps .
Cordialement.
Sans vouloir être méchant, si tu te décourages pour si peu, tu vas pas aller loin!!
Bon qq conseils, pour encourager ;-)
1/ la façon basique pour remplir un NSMutableDictionary est utiliser setObject:ForKey: pour chaque paire clé/valeur à y inserer.
[dico setObject@"maValeur" forKey:@maClé];
Pour initialiser directement le contenu, tu peux faire
dico=[[NSMutableDictionary dictionaryWithObjectsAndKeys:@val1,@key1,@val2,@key2,nil,nil] retain];
tu peux repeter autant de paires valeur/clé sur la ligne, séparés par des virgules, pourvu que tu finisses toujours par les deux nil. (ce sont les sentinelles de fin d'arguments variables)
D'ailleurs, c'est même risqué d'en mettre 2, vu que...
(heureusement, il est probable qu'il s'arrête au premier et donc qu'il ne trouve pas le second qui enverrait l'exception).
Oui j'ai recommencé (2 fois ) . Je dois vraiment être un bourricot . Impossible de faire apparaà®tre la ligne bleue.
La fenêtre s'ouvre les colonnes apparaissent , les deux boutons bleuissent . C' est tout .Pas d'erreurs ou d' alertes
Les 3 méthodes du NSTableDataSource protocol suffisent - elles ?
Le MutableArray n' a besoin que d'être déclaré et initialisé avec (id)init .
Si je suis l'exemple du livre ,chapitre 5 , je plante . dois-je rajouter quelque-chose ?
Merci
Cordialement .
Dites je reçois un message d'erreur pour ce code ?
Sauriez-vous pourquoi ?
Merci
Cordialement.
Merci .
J'avais trouvé l'erreur en me relisant .
J'ai une nouvelle erreur :
return addition ? à la fin .
Pourquoi ?
Merci .
Cordialement.
Bon j'avais oublié , des parenthèses , cela fonctionne .
Qui m' expliqueras comment récupérer les valeurs pour les additionner et les renvoyer vers Total .
Merci .
Cordialement .
Aucuns post découvert traitant ce sujet .
Pour le code précédent @ Val1 , @Val2 est suffisant pour qu'il récupère les valeurs inscrites dans la cellule ?
@partie1,@partie2...?
Merci.
La méthode pour récupérer les données d'un tableau dépend de comment sont gérées ces données (binding ArrayController, structure interne au contrôleur dans le code...)
Merci .
J'ai créé un NSMutableDictionary pour retenir les scores des parties .
Je gére ce tableau (NSTableView ) avec des bindings . Je suis trop bourricot pour trouver autre choses .
Donc si je te suis bien , par les Values Bindables , je peut les récupérées et les additionnées . Mais les scores entrés dans les cellules vont bien à la place des Val1 Val2 .Ou je nage encore ? Cela est juste une adresse ?
Merci .
Cordialement .
Là avec ton code on ne peut pas deviner comment sont gérées les données. Un dictionnaire n'est pas l'idéal pour gérer les données d'un tableau ; en général on utiliser un NSMutableArray.
Bon d' accord , mais quelles différences . ?
Pour la récup des données possible avec un NSMutableArray ?
Pourquoi je ne trouve pas d' exemple d' additions ?
Merci.
Cordialement.
Ligne2 : addition = un autre nouv dico, != du premier, et le remplaçant => tu perds la trace du premier pour tjs
Ligne 3 autorelease envoyé donc au 2e dico alors qu'il était déjà envooyé par le constr de commodité... du coup tu fais retain pour faire autorel = inutile
Final = un obj alloué pour rien et en plus jamais releasé, et un couple retain/autorel pr rien + return d'un objet "retained" et non autoreleased, donc contraire à la règle de base de gestion mémoire (qui retain release)
Merci .
J'ai supprimé la deuxième ligne ?
Savez-vous pourquoi il apparais (<null>) dans les cellules ?
Mon Dico ne sert à rien pour les bindings ?
J' ai cru comprendre qu' il fallait stocker les données pour pouvoir les exploitées avec les bindings .?
Cordialement.
Ensuite récupérer les données avec la méthode "content"
Schlum .
J' ai un NSArrayController qui gére mes bindings . Un outlet pointant vers le contrôleur ? File'S Owner ?
déja fait .
Je pensais avoir compris qu' un NSDictionary permettais de gérer les bindings .
Merci
Cordialement.
Cela ne marche pas . Bon .
Dit moi j' ai trouvé un code en langage Java , dans le livre les cahiers du programmeurs MOSX .
Pourrait-il fonctionner après modifications ?
Ou encore une utopie ?
Merci .
Cordialement.
Schlum.
Merci de consacrer un peu de temps .
J'ai édité le script dans un dossier Java . Compilé , Ca "passe " sans warning .
Accepteriez-vous , si vous savez comment faire , de me guider ,pour éditer ce morceau de code et qu'il fonctionne que je puisse enfin tourner la page du tableau .
Oui je suis de +++ lourd mais ..
Je ne trouve pas dans ce code la partie qui renvoie le résultat vers une column ou un NSString .
OUI j'ai essayé de mettre en oeuvre ton exemple sans succès .
Vous c' est toi et les autres membres du forum ..
Merci d' avance ...
Cordialement.
Dans ton exp objectForKey:@Score et la destination du résultat .?
Voilà l' archive de mon projet.
Merci
Cordialement.
Il faudrait pouvoir ajouter des joueurs pour pouvoir calculer la somme !
Sur mon ordi tout fonctionne ..
Je peut ajouter un joueur et l'effacer .
Inscrire des données sur ou dans les lignes ..
Je peut trier les colonnes en cliquant sur le titre .
Je ne sais pas ?
Cordialement .
Sur l' archive , il faut cliquer sur la ligne pour la sélectionner et pouvoir rajouter un joueur ou l' effacer ?
Cordialement