在快速键入期间使用搜索栏进行搜索时 TableView 崩溃
Posted
技术标签:
【中文标题】在快速键入期间使用搜索栏进行搜索时 TableView 崩溃【英文标题】:TableView crashes while making search using search bar during fast typing 【发布时间】:2017-03-31 07:09:34 【问题描述】:-
我使用 fetchedResultsController(FRC) 来获取和列出使用 fetchedObjects 的 tableview。而且这些项目都很好。
我也有一个搜索栏。键入任何字符串都会更新 FRC,如下所示 & perfomFetch() 并重新加载 tableView。
fetchedResultsController.fetchRequest.predicate = NSPredicate(format: "title CONTAINS[c] %@, text)
一切正常,除非我在 searchBar 上搜索得更快。崩溃发生在 cellForRowAtIndexPath 和 numberOfSections 中,说 fetchedObjects 是“空的”
如何解决快速搜索导致的崩溃?
【问题讨论】:
把代码放在这里 你能给我一个完整的代码吗 【参考方案1】:如果您使用 FetchedResultsController 的 fetchedObjects 计数属性指定部分中的行数,有时您的 FetchedResultsController 的 fetchedObject 可能会在这种情况下应用崩溃。
试试
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return self.fetchedResultsController.fetchedObjects?.count ?? 0
【讨论】:
您分享的代码很有帮助,我已经使用“numberOfRowsInSection”和“viewForHeaderInSection”中的“if (fetchedResultsController.sections?.count)! > section”这样的部分检查来解决它。谢谢。以上是关于在快速键入期间使用搜索栏进行搜索时 TableView 崩溃的主要内容,如果未能解决你的问题,请参考以下文章
当我在 google chrome /students/student_name 的搜索栏中键入此内容时,我想获取数组列表的此名称