Iphone 如何告诉UITableView预加载所有行?

Iphone 如何告诉UITableView预加载所有行?,iphone,objective-c,uitableview,custom-cell,Iphone,Objective C,Uitableview,Custom Cell,有没有办法告诉UITableView预加载所有行 tableView应该显示多条注释(最多80条注释) 因此,我的CommentCell使用Setter使单元格适应特定的注释 -(void)setComment:(Comment *)newComment { if (newComment != comment) { [comment release]; comment = [newComment retain]; /* * set th

有没有办法告诉UITableView预加载所有行

tableView应该显示多条注释(最多80条注释)

因此,我的CommentCell使用Setter使单元格适应特定的注释

-(void)setComment:(Comment *)newComment {
 if (newComment != comment) {
     [comment release];
        comment = [newComment retain]; 
       /*
        * set the cells view variables here
        */
    }
}  
这个特定的setter需要相当多的处理资源,而且滚动有点滞后

调用时,我使用的是特定于注释的reuseIdentifier,而不是静态cellIdentifier

dequeueReusableCellWithIdentifier:
为了确保“新来者”等于旧的“评论”。
事实上,当在已经加载的单元格上滚动时,这确实非常有效

但是当第一次滚动浏览评论时,它仍然像地狱一样落后

这就引出了我的问题:
有没有办法告诉tableview预加载所有单元格?(我对此表示怀疑)


我是否必须实现自己的缓存,而不是依赖“dequeueReusableCellWithIdentifier:”?

否,您必须将数据预加载到
数据源中。只需将所需的所有内容放入一个数组中,并从预加载的对象数组中填充表格的单元格。

不,您必须将数据预加载到
数据源中。只需将所需的所有内容放入一个数组中,并从预加载的对象数组中填充表格的单元格。

请记住,特定于注释的reuseIdentifier可能是导致所有内容变慢的原因(或者至少它没有帮助)。我们对UITableViewCells使用reuseIdentifier的原因是,如果您每次需要一个新单元格时都尝试分配一个新单元格,那么它的性能就不如只重用已经创建的单元格


我建议您预先计算您的评论,这样您就可以设置单元格的属性,并在单元格从tableview中滚动后重新使用它们。

请记住,特定于评论的reuseIdentifier可能是导致一切变慢的原因(或者至少它没有帮助)。我们对UITableViewCells使用reuseIdentifier的原因是,如果您每次需要一个新单元格时都尝试分配一个新单元格,那么它的性能就不如只重用已经创建的单元格


我建议您预先计算您的评论,这样您就可以设置单元格的属性,并在单元格滚动到tableview后重新使用它们。

我通常使用单元格重新使用标识符,这种情况也不例外,但经过数小时的测试、调试和重写后,情况变得很清楚,延迟是由分配新单元格和使用setter的组合造成的。这就是为什么我尝试了几种组合,它清楚地表明,二传手即使单独创造了可怕的滞后(我夸大了一点,但这些滞后真的很糟糕)。这就是为什么我不能使用特定于单元的reuseIdentifier。我通常使用单元reuseIdentifier,这种情况也不例外,但经过数小时的测试、调试和重写,很明显,延迟是由分配新单元和使用setter的组合造成的。这就是为什么我尝试了几种组合,它清楚地表明,二传手即使单独创造了可怕的滞后(我夸大了一点,但这些滞后真的很糟糕)。这就是为什么我不能使用特定于单元格的重用标识符。