6
votes

Nombre maximum de lignes pouvant être affichées sur la TableView

J'aimerais connaître la limite du nombre maximum de lignes pouvant être affichées dans l'UitailView. Merci d'avance.


3 commentaires

Avez-vous une raison de croire qu'il y a une limite?


@Eriko: Je m'attends à insérer autour de 3 000 rangées (texte uniquement, avec index). Alors voulez savoir quelles sont la complication qui pourrait venir.


Je l'ai enveloppé dans une réponse.


4 Réponses :


10
votes

Ce Cocoa avec Love Blog Post est très informatif - il examine la performance d'une vue de table avec des milliers de cellules.

La question est de savoir si elle a une limite difficile interne - elle est apparemment suffisante pour la plupart des besoins - la post ci-dessus conclut:

L'iPhone peut gérer des tables avec 100 000 rangées - et continue de faire défiler le mode de défilement que s'il ne s'agissait que de 100 rangées.


1 commentaires

L'article mentionne également que 800 000 rangées de hauteur 44, le flotteur de précision unique (plate-forme 32 bits) utilisée pour le positionnement cellulaire échoue (== perd la précision et vous obtenez des cellules partiellement chevauchées).



4
votes

Il semble n'y avoir pas de maximum. Vous n'entrez pas activement de toute façon, vous venez de mettre en œuvre les méthodes déléguées pour servir les cellules - elles ne sont pas chargées à la fois si elles sont correctement effectuées.

L'avoir juste essayé avec mille cellules personnalisées, cela fonctionnait sans problème. Mais avec 3K même avec index, il est beaucoup à faire défiler, je envisagerais de les mettre dans une hiérarchie de navigation (mais cela dépend fortement de votre utilisation).

Une dernière chose: Assurez-vous d'être efficace lorsque vous dessinez les cellules, c'est-à-dire Drawrect: au lieu d'encombrer les cellules avec des étiquettes, des vues, etc., cela fera défiler beaucoup plus vite.


1 commentaires

"NsinternalinconSistencyException", Raison: "Échec de l'allocation de magasins de données pour 9223372036854775807 Les rangées à la section 0. Pensez à utiliser moins de rangées" J'étais curieux et je suis tombé sur ceci.



2
votes

Vous serez finalement limité par le fait que toutes les méthodes telles que la numérosofrowsiffiine prennent des arguments entier mais, espérons-le, vous n'aurez pas besoin d'aborder ces limites :)


0 commentaires

0
votes

in Numberofrawinsection Méthode de délégué Nous renvoyons généralement le nombre de matrices, ce qui est le type INT, un nombre maximal de lignes pouvant être affichés sur la section de la TableView = int.max < / p>

alors laissez la capacité "c"

c = (nombre maximum de section) x (Nombre maximal d'élément dans la section)


0 commentaires