设置UITableViewCell高度很昂贵

She*_*lam 1 iphone cocoa-touch objective-c uitableview

我在做比较

- (CGFloat)tableView:(UITableView *)tblView heightForRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)

当我检查一下时,我的应用程序的性能似乎真的变慢了 cell.detailTextLabel.text isEqualTo:@"None";

什么是比较和设置细胞高度的更好方法?

fbr*_*eto 5

UITableView实现了一个复杂的缓存结构,可以根据需要重用单元,因为为绘图管理重新创建底层缓冲区是很昂贵的.更改单元格高度将需要重新分配这些缓冲区,并且您将失去从缓存机制获得的任何性能.

更好的实现方法是将按高度划分的单元格划分为多个组,并根据高度要求重复使用单元格.这样就不需要重新分配缓冲区了,你将获得你期望的性能UITableView.