您是否将 NSFetchRequest 放入 cellForRowAtIndexPath 中?

Do you put NSFetchRequest into cellForRowAtIndexPath?

我在 cellforRowAtIndexPath 中执行 NSFetchRequest 似乎有点慢。

你是怎么治疗的?在 viewDidLoad 中执行它、将结果缓存到字典中并在 cellForRowAtIndexPath 中使用它是否更节省内存/时间?

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

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