2015-11-03 1 views
0

J'ai une fonction, qui ajoute badge sur la cellule:Comment détecter une cellule pour y ajouter un badge?

unreadMessagesCountBadge(cell, forCount: messagesCount) 

mais je ne sais pas, comment détecter la cellule ce que je besoin d'ajouter ce badge là-dessus?

Par exemple, j'ai une liste d'utilisateurs et un de mes contacts m'a envoyé un message. Comment détecter cette cellule, ajouter à côté de ce contact mon badge 1?

MISE À JOUR

Je détecte ce nouveau message reçu dans un autre fichier et je dois appeler cette fonction à partir de là et mise à jour dans mon cellForRowAtIndexPath. Je suis confus =/

+0

créer une propriété de badge dans la liste des utilisateurs. ajoutez votre badge et actualisez la vue de la table. gère également la propriété badge dans 'cellForRowAtIndexPath:'. – x4h1d

+0

et une autre question, vous venez de toucher ce sujet. Comment ** mettre à jour ** ma tableView? Quand je fais 'reloadData()' ça ne m'aide pas. Donc, je dois changer de contrôleur et revenir pour voir mon badge. Des idées sur ce problème? @ x4h1d –

+0

'reloadData()' devrait fonctionner correctement si vous manipulez correctement les données mises à jour dans 'cellForRowAtIndexPath'. Modifier 'viewcontroller', juste pour rafraîchir la vue de la table, sera ridicule. Vérifiez la méthode 'cellForRowAtIndexPath' si votre rechargement ne fonctionne pas. mettre le point de rupture et le débogage. – x4h1d

Répondre

1

Pourquoi cela ne vous aide-t-il pas lorsque vous utilisez reloadData() sur votre tableView? L'appelez-vous du thread principal? Vous pouvez forcer l'appel à partir du thread principal:

dispatch_async(dispatch_get_main_queue(),{ 
    self.tableView.reloadData() 
}) 
+0

Non. Cette méthode ne marche jamais pour moi –