Iphone 设置UITableViewCell高度非常昂贵
我正在做一个比较Iphone 设置UITableViewCell高度非常昂贵,iphone,objective-c,cocoa-touch,uitableview,Iphone,Objective C,Cocoa Touch,Uitableview,我正在做一个比较 - (CGFloat)tableView:(UITableView *)tblView heightForRowAtIndexPath:(NSIndexPath *)indexPath 当我检查acell.detailTextLabel.text是否为@None时,我的应用程序的性能似乎真的变慢了 进行比较和设置单元格高度的更好方法是什么?UITableView实现了一个复杂的缓存结构,可以根据需要重用单元格,因为重新创建用于图形管理的底层缓冲区成本很高。更改单元格高度将需要
- (CGFloat)tableView:(UITableView *)tblView heightForRowAtIndexPath:(NSIndexPath *)indexPath
当我检查acell.detailTextLabel.text是否为@None时,我的应用程序的性能似乎真的变慢了代码>
进行比较和设置单元格高度的更好方法是什么?UITableView
实现了一个复杂的缓存结构,可以根据需要重用单元格,因为重新创建用于图形管理的底层缓冲区成本很高。更改单元格高度将需要重新分配这些缓冲区,并且您将失去从缓存机制中获得的任何性能
更好的实现是将分配的单元按高度划分为组,并根据其高度要求重用单元。这样就不需要重新分配缓冲区,并且您可以从UITableView
UITableView
中获得预期的性能。UITableView有一个复杂的缓存结构,可以根据需要重用单元,因为为图形管理重新创建基础缓冲区的成本很高。更改单元格高度将需要重新分配这些缓冲区,并且您将失去从缓存机制中获得的任何性能
更好的实现是将分配的单元按高度划分为组,并根据其高度要求重用单元。这样就不需要重新分配缓冲区,您将从创建单元格期间使用的UITableView
高度为row的索引路径中获得预期的性能,因此不应访问单元格。与其检查单元格的内容,不如检查用于设置单元格内容的源。heightForRowAtIndexPath在创建单元格期间使用,因此不应访问单元格。与其检查单元格的内容,不如检查用于设置单元格内容的源