Jetez un coup d'œil à Music.app (ou iPod.app). La vue Albums racine comporte une ligne "Toutes les chansons". La vue des morceaux racine a une rangée "Shuffle". La vue Racines des playlists a une ligne "Ajouter Playlist ...". Données statiques mélangées dans la même UITableView avec (probablement) des données de base. Je me demande comment Apple a réalisé cela.Données de données non-core dans un UITableView soutenu par des données de base
J'ai essayé deux approches différentes, les deux ont échoué. Comme le Music.app, mes vues ont aussi un UISeachBar dans la tableHeaderView. Ma première tentative a tenu compte du nombre de lignes "statiques" que j'avais et ajusté l'indexPath fourni aux diverses méthodes UITableView et NSFetchedResultsController qui nécessitent des informations de section et de ligne. Tout fonctionnait parfaitement jusqu'à ce que j'implémente les méthodes NSFetchedResultsControllerDelegate pour permettre la création, l'édition et la suppression. La méthode insertRowsAtIndexPaths:withRowAnimation:
(et similaire) est déclenchée sur mes indexPaths ajustés. Les indexPaths par défaut ne fonctionnent pas comme l'est non plus.
Ma seconde tentative a consisté à imbriquer un autre UITableView dans la tableHeaderView de mon UITableView primaire à utiliser pour les lignes statiques (et à héberger le UISeachBar dans son propre tableHeaderView). Cette approche ne l'a même pas rendu à la phase éditable. L'UISearchBar finit par être chevauché par l'épurateur de sectionIndex racine de UITableView et ne glisse plus derrière l'UINavigationBar lors du défilement d'une liste courte.
Donc, plutôt que de diagnostiquer mes problèmes spécifiques, je demande des suggestions sur la façon dont Apple réalise cela. Pourraient-ils extraire les données une fois, les mettre en cache dans un NSArray et construire un NSArray imbriqué de sections et de lignes qui inclut à la fois les lignes statiques et les données de base?
Bien sûr, dès que vous postez quelque chose publiquement ... la seconde approche est de retour dans la course avec le tableHeaderView réglé sur un boîtier UIView la UISeachBar et UITableView statique. Nous verrons jusqu'où je serai avec ça. Les suggestions sont toujours les bienvenues. –