Je voudrais connaître la limite du nombre maximum de lignes pouvant être affichées dans UItableView. Merci d'avance.nombre maximum de lignes pouvant être affichées sur tableview
Répondre
Il semble n'y avoir aucun maximum. Vous n'insérez pas activement de toute façon, vous implémentez simplement les méthodes déléguées pour servir les cellules - elles ne sont pas chargées toutes en même temps si elles sont correctement effectuées. Après l'avoir essayé avec mille cellules personnalisées, cela a fonctionné sans problème. Mais avec 3k même avec index c'est beaucoup à faire défiler, je considérerais les mettre dans une hiérarchie de navigation (mais cela dépend fortement de votre utilisation). Une autre chose: Assurez-vous d'être efficace lorsque vous dessinez les cellules, c'est-à-dire exécutez drawRect: au lieu d'encombrer les cellules avec des étiquettes, des vues, etc., cela accélèrera le défilement.
'NSInternalInconsistencyException', raison: 'Impossible d'allouer des magasins de données pour 9223372036854775807 lignes dans la section 0. Pensez à utiliser moins de lignes' J'étais curieux et tombé sur ceci. – Ohmnastrum
Ce message Cocoa with Love blog est très instructif - il examine les performances d'une vue de table avec des milliers de cellules.
La question est de savoir si elle a une limite dure interne - il est assez apparemment pour la plupart des besoins - le conclut poste ci-dessus:
L'iPhone peut gérer des tables avec 100.000 lignes - et il continue de faire défiler aussi bien que mais il n'y avait que 100 lignes.
L'article mentionne également que passé 800 000 rangs de hauteur 44, le flotteur simple précision (plate-forme 32 bits) utilisé pour le positionnement cellulaire échoue (== perd de la précision et vous obtenez des cellules partiellement chevauchées). –
Vous sera finalement limité par le fait que toutes les méthodes telles que numberOfRowsInSectiin prendre des arguments entiers, mais nous espérons que vous aurez pas besoin d'approcher les limites :)
En méthode déléguée numberofRawInSection nous sommes reviennent généralement compte du tableau qui est le type Int, donc le nombre maximum de lignes qui peuvent être montrées sur la section tableview = Int.max
Avez-vous une raison de croire qu'il y a une limite? – Eiko
@Eriko: je m'attends à insérer environ 3k lignes (Texte seulement, avec index). Alors voulez savoir quelles sont les complications qui pourraient survenir. – thndrkiss
Je l'ai enveloppé dans une réponse. – Eiko