Sno*_*man 7 core-data objective-c row-height uitableview ios
过去几天我一直试图解开一个谜团,为什么批量大小为20的NSFetchedResultsController在获取完成后会立即故障(即加载到内存中)所有对象,导致请求大约需要20秒.
事实证明,这是因为在我的heightForRowAtIndexPath中,高度基于每个获取对象的NSString属性的长度,因此在重新加载表时,如果表有2000行,则计算每个行的高度.从一开始,由于我访问了对象的文本属性,它会在一开始就在2000个对象(20个大小的批处理)中出错,导致它永远占用.(我不知道排的高度是在开始时计算的).
所以问题是,如果我有一个批量大小为20的获取结果控制器,但我的行高是基于对象的文本属性,如果我尝试访问会导致该对象不再是一个错误但是实际加载到内存中,计算高度的解决方法是什么?
我有什么选择?
有趣的问题。为了提高性能,我要做的就是在模型中创建一个属性来存储该字符串文本的长度。通过这种方式,您不需要即时计算每行的长度,但您可以预先计算出高度。
也许还有其他有价值的解决方案。
| 归档时间: |
|
| 查看次数: |
740 次 |
| 最近记录: |