addObjectsFromArray pénible...

chaps31chaps31 Membre
14:23 modifié dans API AppKit #1
J'ai une ligne de code qui ne fonctionne pas et je ne comprends vraiment pas pourquoi...

[glow=yellow,2,300][tab1 addObjectsFromArray:[tab2 valueForKey:@key]];[/glow]

Je confirme par un NSLog que la tab2 est bien remplie, tableau à  2 colonnes, et il y a des valeurs pour la clé "key"... Incompréhensible car le tab1 reste désespéremment vide...

SOS, merci par avance

PS : Et dire que je dois déjà  une bouteille de Chianti...

Réponses

  • schlumschlum Membre
    14:23 modifié #2
    [tab2 valueForKey:@key] <-- c'est quoi ?
    Un NSArray rempli ?
  • chaps31chaps31 Membre
    14:23 modifié #3
    tab2 est un NSMutableArray rempli. Tout comme tab1, mais lui est vide (removeAllObjects juste avant).
  • schlumschlum Membre
    14:23 modifié #4
    J'ai pas demandé "tab2", mais bien [tab2 valueForKey:@key]

    Comme "NSLog(@%@",[tab2 valueForKey:@key]);" quoi...
  • chaps31chaps31 Membre
    14:23 modifié #5
    Tu mets le doigt sur un point qui m'a fait faire un nslog sur [tab2 valueForKey:@key]n et... il n'y a pas de clé juste des valeurs, un tableau avec une seule colonne a quand même une clé ?
  • ChachaChacha Membre
    juin 2008 modifié #6
    valueForKey: est bien une méthode de NSArray... La documentation dit cela:

    Returns an array containing the results of invoking valueForKey: using key on each of the receiver's objects.


    En effet, un tableau n'est pas un dictionnaire. Il n'a pas de notion de clef/valeur, mais juste de numéros des cases. La méthode valueForKey: du tableau sert en fait de démultiplexeur.

    Donc quand tu dis :

    tableau à  2 colonnes, et il y a des valeurs pour la clé "key"...

    Qui a une valeur pour la clef "key" dans ton code ?

    +
    Chacha
  • chaps31chaps31 Membre
    14:23 modifié #7
    Arrgh, l'idée était bonne mais ce n'est donc pas ça...
  • schlumschlum Membre
    14:23 modifié #8
    Bon, il affiche quoi ce log alors ? Est-ce qu'il affiche un tableau avec des éléments ou pas ??
    J'espère qu'on finira par avoir la réponse  :)
  • chaps31chaps31 Membre
    juin 2008 modifié #9
    tab2
    ({esp = Chien; rce = Caniche; },
        {esp = Chien; rce = "Shi-Tzu"; },
        {esp = Chien; rce = Yorkshire; })

    [tab2 valueForKey:@rce
    (Caniche, "Shi-Tzu", Yorkshire)

    [tab1 addObjectsFromArray:[tab2 valueForKey:@key]] : (null)  :'(

  • ChachaChacha Membre
    14:23 modifié #10
    Es-tu sûr d'avoir alloué tab1 ?
    dans 1213356814:

    NSLog(@tab1 = %@", tab1); // <-- ???
    [tab1 addObjectsFromArray:[tab2 valueForKey:@key]]
  • chaps31chaps31 Membre
    14:23 modifié #11
    dans 1213357452:

    Es-tu sûr d'avoir alloué tab1 ?
    dans 1213356814:

    NSLog(@tab1 = %@", tab1); // <-- ???
    [tab1 addObjectsFromArray:[tab2 valueForKey:@key]]



    Ho...non... Quel boulet... hum... ok tout fonctionne, petit oubli alloc init... vous pouvez viser :  :o

    Merci
  • Philippe49Philippe49 Membre
    14:23 modifié #12
    dans 1213351445:

    PS : Et dire que je dois déjà  une bouteille de Chianti...


    dans 1213357905:

    Ho...non... Quel boulet... hum... ok tout fonctionne, petit oubli alloc init... vous pouvez viser :  :o
    Merci


    une NSArray de Chianti !!
    :p   :p   :p   <3 <3 <3 <br />

  • chaps31chaps31 Membre
    14:23 modifié #13
    bouteille *chianti;
    while([codeurs ontToujoursSoif])
    {
    [Verres remplir];
    chianti=chianti+1;
    }

    :p
  • Philippe49Philippe49 Membre
    14:23 modifié #14
    et même chianti +=++chianti++ !!  :brule:
Connectez-vous ou Inscrivez-vous pour répondre.