J'ai un contrôleur Table View qui affiche une liste de messages. Je veux que l'utilisateur puisse choisir différentes options de tri pour ses messages. Certaines options de tri possibles peuvent être les plus récentes, lues/non lues, par l'expéditeur, etc.Comment connecter une vue table à une source de données triable
Ce dont je discute dans mon esprit est la manière correcte de gérer la liste sous-jacente des messages. Voici mon plan actuel:
J'ai un objet Modèle MessageList personnalisé. Je vais ajouter une propriété sortedBy afin que tout contrôleur puisse vérifier la méthode de tri en cours et utiliser la liste si nécessaire. Le MessageList devra être responsable de l'insertion de nouveaux messages correctement en fonction de la méthode de tri en cours qui a été choisie. J'aime cette approche parce que je n'ai pas besoin de faire une copie triée du MessageList. Il garde également les choses simples pour le contrôleur (indexPath.row == indexOfMessageInList).
Est-ce que quelqu'un a été dans une situation similaire et a découvert une meilleure approche?
Cela semble être une bonne solution pour moi. Souvenez-vous simplement qu'après avoir appliqué un tri à votre MessageList sous-jacent, vous devrez actualiser la vue de la table - [tableView reloadData] ou quelque chose de similaire. – Tim