- 我使用 fetchedResultsController(FRC( 来使用 fetchedObjects 获取和列出表视图。并且项目列出得很好。
- 我还有一个搜索栏。键入任何字符串时,将更新FRC,如下所示&perfomFetch((并重新加载tableView。
fetchedResultsController.fetchRequest.predicate = NSPredicate(format: "title CONTAINS[c] %@, text)
一切都很好,除了我在搜索栏上搜索得更快。崩溃发生在cellForRowAtIndexPath&numberOfSection中,说fetchedObjects是"空的">
如何解决由于快速搜索而导致的崩溃?
如果您使用了 FetchedResultsController 的
fetchedObjects count 属性指定部分中的行数,有时 FetchedResultsController 的 fetchedObject 在这种情况下可能为零应用程序崩溃。
尝试
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.fetchedResultsController.fetchedObjects?.count ?? 0
}