Question

Il a été un moment que je foiré avec mon TableViewController donc je suis un peu rouillé ... mais maintenant je voudrais le configurer de sorte que lorsqu'une section a aucune ligne à afficher (tableau est vide), il sera « mensonge » au contrôleur et retour 1 pour numberOfRowsInSection. Ensuite, dans le cellForRowAtIndexPath il placera un UILabel sur la cellule d'une ligne qui dit quelque chose à l'effet de « cette section est vide. »

Le problème est lorsque la table est en mode d'édition et l'utilisateur supprime la dernière ligne, je reçois l'erreur suivante:

Mettre fin à l'application à cause exception uncaught « NSInternalInconsistencyException », motif: « mise à jour invalide: numéro incorrect de lignes dans la section 1. Le nombre de lignes contenues dans une section existante après la mise à jour (1) doit être égale à la nombre de lignes contenues dans cet article avant la mise à jour (1), plus ou moins le nombre de lignes insérées ou supprimées de cette section (0 inséré, supprimé 1).

Il semble être bouleversé après le coup à supprimer une ligne quand il tente de redessiner la table, il trouve que la dernière ligne est toujours là. Où / comment dois-je traitais cela? Certes, je suis crapping sur tout le HIG d'Apple dans une certaine mesure, mais il est source de confusion pour mes utilisateurs d'avoir juste un en-tête sur une section vide ...

merci!

Était-ce utile?

La solution

Vous devez insérer réellement votre ligne « faux » en utilisant -insertRowsAtIndexPaths:withRowAnimation:. Du point de vue de UITableView, il n'y a pas de lignes « vrais » ou « faux » lignes. Il y a ce que les lignes de la source de données indique qu'il ya. Donc, vous aviez 1 ligne, puis vous avez supprimé 1 ligne, puis UITableView vous avez demandé « combien de lignes sont là » et vous avez dit 1, et UITableView dit « 1 -. 1 = 1. Attendez, ce Blam »

Si vous voulez insérer une ligne ( « vrai » ou « faux » est tout de même), vous devez dire UITableView vous l'insérer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top