在快速键入期间使用搜索栏进行搜索时,TableView 崩溃


  1. 我使用 fetchedResultsController(FRC( 来使用 fetchedObjects 获取和列出表视图。并且项目列出得很好。
  2. 我还有一个搜索栏。键入任何字符串时,将更新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
    }

最新更新