rafraà®chir les cellules d'un NRGridView dans un thread
yass_1988
Membre
bonjour, je fais appel à vous après avoir passer beaucoup de temps à résoudre un problème sans résultat.
Actuellement je créé une vue avec des cellules comportant chacune une image. J'obtiens ces images à partir d'un tableau que j'appelle "picturesList".
Une fois cette vue affichée, je lance un thread chargé de mettre à jour les images de ces cellules.
Voici la partie du code du thread chargé de rafraà®chir la vue:
Le problème étant que les image des cellules ne change pas. Pouvez-vous m'aidez ? Merci !
Actuellement je créé une vue avec des cellules comportant chacune une image. J'obtiens ces images à partir d'un tableau que j'appelle "picturesList".
Une fois cette vue affichée, je lance un thread chargé de mettre à jour les images de ces cellules.
Voici la partie du code du thread chargé de rafraà®chir la vue:
<br />
//appel de la fonction de rafraà®chissement dans le thread UI<br />
...<br />
//changer la liste des image dans le tableau d'image (picturesList)<br />
...<br />
[self performSelectorOnMainThread:@selector(refreshAllViews) withObject:nil waitUntilDone:NO];<br />
...<br />
-(void) refreshAllViews<br />
{<br />
for(int i=0; i<[picturesList count]; i++)<br />
{<br />
[[self gridView:[self gridView] cellForItemAtIndexPath: [NSIndexPath indexPathForItemIndex:i inSection:0]]imageView].image=[picturesList objectAtIndex:i];<br />
}<br />
//rafrachissement de la NRGridView<br />
// [[self gridView] reloadInputViews]; <br />
[[self gridView] reloadData];<br />
}<br />
Le problème étant que les image des cellules ne change pas. Pouvez-vous m'aidez ? Merci !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Grrrr, pas très lisible ça... Bon si on remet au propre :
Et là donc on voit que c'est la seconde ligne qui va pas : tu n'utilises pas la bonne méthode pour récupérer la cell.
Essaie avec -cellAtIndexPath: sur ta gridview :
Mais ceci dit, je comprend pas trop : puisque après tu fait un reloadData, c'est sensé appeler la méthode du data source pour raffraichir les cell visibles, et donc à ce moment là tu peux mettre à jour ton imageView. Non ?
Copie colle nous ton implémentation de[font=courier new,courier,monospace] -(NRGridViewCell *)gridView:(NRGridView *)gridView cellForItemAtIndexPath:(NSIndexPath *)indexPath[/font] pour voir