如何告诉uitableview以预加载所有行?
-
05-10-2019 - |
题
有没有办法告诉uitableview来预加载所有行?
该桌面应该显示几个评论(最多80条评论)。
因此,我的评论使用者使用设置器将单元格调整为特定的评论。
-(void)setComment:(Comment *)newComment {
if (newComment != comment) {
[comment release];
comment = [newComment retain];
/*
* set the cells view variables here
*/
}
}
这个特定的设置器需要大量的处理资源,滚动有点懒惰。
我正在使用特定于评论的重复使用者而不是静态单元格时
dequeueReusableCellWithIdentifier:
为了确保,“新事物”等于旧的“评论”。
实际上,当滚动到已经加载的单元格上时,这确实很棒。
但是,当第一次滚动评论时,它仍然像地狱一样落后。
这使我提出了我的问题:
有没有办法告诉表观视图预加载所有单元格? (我怀疑)
或者
我是否必须实现自己的缓存,而不是依靠“ DequeueReusableCelleWithIdentifier:”?
解决方案
请记住,您的评论特定的重复使用者可能会导致一切变得缓慢(或者至少没有帮助)。我们将ReuseIdentifier用于UITATIONVIEWCELLS的原因是,如果您每次需要一个新的单元格,则不像您可以重用已经制作的单元那样的表现。
我建议您预先计算您的评论,以便您可以在滚动表视图后将单元格的属性设置并重复使用。
其他提示
不,您必须在您的数据中预加载数据 dataSource
. 。只需将您需要的所有内容放入数组中,然后从预装的对象数组中填充表的单元格即可。
不隶属于 StackOverflow