您是否将 NSFetchRequest 放入 cellForRowAtIndexPath 中?
Do you put NSFetchRequest into cellForRowAtIndexPath?
我在 cellforRowAtIndexPath
中执行 NSFetchRequest
似乎有点慢。
你是怎么治疗的?在 viewDidLoad
中执行它、将结果缓存到字典中并在 cellForRowAtIndexPath
中使用它是否更节省内存/时间?
正如@Paulw11 在他的评论中提到的,由于性能原因,这是一个坏主意。此外,您将执行获取请求的次数比实际需要的次数多(同时来回滚动 table 视图),因为每次重复使用单元格时都会调用 cellForRowAtIndexPath
。
我建议使用 NSFetchedResultsController。它专门用于显示 UITableView
中的 Core Data 记录。它允许批量获取(不获取所有对象,只获取需要显示的对象)。此外,您还可以轻松跟踪模型中的更改。
我在 cellforRowAtIndexPath
中执行 NSFetchRequest
似乎有点慢。
你是怎么治疗的?在 viewDidLoad
中执行它、将结果缓存到字典中并在 cellForRowAtIndexPath
中使用它是否更节省内存/时间?
正如@Paulw11 在他的评论中提到的,由于性能原因,这是一个坏主意。此外,您将执行获取请求的次数比实际需要的次数多(同时来回滚动 table 视图),因为每次重复使用单元格时都会调用 cellForRowAtIndexPath
。
我建议使用 NSFetchedResultsController。它专门用于显示 UITableView
中的 Core Data 记录。它允许批量获取(不获取所有对象,只获取需要显示的对象)。此外,您还可以轻松跟踪模型中的更改。