你把NSFetchRequest放入cellForRowAtIndexPath吗?

时间:2015-01-08 10:57:13

标签: ios uitableview core-data

NSFetchRequest中执行cellforRowAtIndexPath似乎有点慢。

你是如何对待它的?在viewDidLoad中执行它是否更具内存/时间效率,将结果缓存到字典中,并在cellForRowAtIndexPath中使用它?

1 个答案:

答案 0 :(得分:2)

由于表现原因,这是一个坏主意,正如@Paulw11在评论中提到的那样。另外,您将执行获取请求的次数超过实际需要的次数(在来回滚动表视图时),因为每次重复使用单元格时都会调用cellForRowAtIndexPath

我建议使用NSFetchedResultsController。它专门用于在UITableView中显示核心数据记录。它允许批量提取(不提取所有对象,但只提取需要显示的对象)。此外,您还可以轻松跟踪模型中的更改。