2009-06-04 4 views
0

J'essaie d'insérer une nouvelle cellule dans une vue de table où les données sont triées. Y a-t-il un moyen facile de le faire en utilisant l'API? Le moyen le plus simple semble être d'insérer les nouvelles données dans un NSMutableArray, de trier en utilisant un descripteur de tri, et d'appeler reloadData. Cela devrait seulement réafficher les lignes visibles, donc cela ne semble pas trop mauvais.Des moyens efficaces d'insérer une nouvelle cellule dans un UITableView trié?

Serait-il utile de faire une recherche binaire sur le tableau de données, insérer les données, puis insérer la cellule?

Répondre

3

Cela dépend vraiment du nombre de lignes dans votre table. Si votre table ne contient qu'environ 10 lignes, il suffit d'ajouter les données à votre NSMutableArray, de faire un recours et de recharger le UITableView. D'un autre côté, si votre table contient des centaines ou des milliers de lignes, vous voudrez certainement faire quelque chose de plus efficace. Par contre, si votre table contient des centaines ou des milliers de lignes, Utiliser une recherche binaire pour insérer vos données dans votre NSMutableArray est une bonne idée. Ensuite, tout ce que vous avez à faire est d'appeler UITableViewinsertRowsAtIndexPaths:withRowAnimation: pour ajouter la ligne à la vue réelle de la table. Aucun rechargement requis.

Questions connexes