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

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

  • klogklog Membre
    février 2019 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, ... ,]
    
  • 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.

  • 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

  • [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.

  • 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.