Problème avec NSCollectionView

Bonjour,

J'ai un petit soucis avec l'affichage sous forme de grille de mon programme.

Lorsque je formate les données de la sorte:

 firstlist = @[

 @{@"itemTitle":@"album 1",
 @"itemDescription":@"artist 1",

 @{@"itemTitle":@"album 5",
 @"itemDescription":@"artist 5"},

 @{@"itemTitle":@"album 6",
 @"itemDescription":@"artist 6"},

 ];

Le texte voulu s'affiche correctement mais dès que je tente d'envoyer ma liste sous cette forme:

    for (Album *obj in albumArray) {

        [firstlist addObject:@[@{@"itemTitle":obj.albumName,
                                   @"itemDescription":obj.artist,
                                   @"itemImage":obj.path},] ];
    }

au lieu de m'afficher le text ça me met une ouverture de parenthèse ( :/


Une idée ?

Merci :)

Réponses

  • HarloHarlo Membre

    PS j'ai du me tromper de catégorie, désolé :|

  • klogklog Membre
    14 févr. modifié #3

    Je n'y connais pas grand chose en notation abrégé des structures, mais j'ai l'impression que ton code initial génère un tableau de dictionnaires, alors que la deuxième génère un tableau de tableaux de dictionnaires... Est-ce qu'il ne faudrait pas supprimer le @[] externe ? :

    [firstlist addObject:@{@"itemTitle":obj.albumName,  @"itemDescription":obj.artist, ...
    

    au lieu de :

    [firstlist addObject:@[@{@"itemTitle":obj.albumName,  @"itemDescription":obj.artist, ... ,]
    
  • LarmeLarme Membre

    J'allais dire pareil.
    Tu ajoutes un array.
    Donc tu peux faire addObjectsFromArray: si c'est un NSMutableArray, ou plus simplement virer le level d'array.

  • HarloHarlo Membre

    albumArray et firstlist sont des NSMutableArray

    Si je supprime le @[] externe ça me met en erreur : "Expected expression"

    @Larme a dit :smile:
    Donc tu peux faire addObjectsFromArray: si c'est un NSMutableArray

    And the winner is... \o/ gros poutou :D

  • LarmeLarme Membre
    [firstlist addObject:@{@"itemTitle":obj.albumName,
                                       @"itemDescription":obj.artist,
                                       @"itemImage":obj.path} ];
    

    Devrait marcher cependant. Ajouter le contenu d'un single array, c'est pas le mieux à faire.

  • HarloHarlo Membre

    Effectivement ça fonctionne, j'avais oublié la "," >_<

    @Larme a dit :
    Ajouter le contenu d'un single array, c'est pas le mieux à faire.

    Je prend toutes les leçons qu'on me donne :)

Connectez-vous ou Inscrivez-vous pour répondre.