gpt4 book ai didi

ios - 如何一起使用 NSFetchedResultsController 和 UISearchController?

转载 作者:IT王子 更新时间:2023-10-29 05:43:00 25 4
gpt4 key购买 nike

我有一个包含 tableView 的 View 。我正在使用 NSFetchedResultsController 来显示来自 Core Data 的结果。

我想添加一个 UISearchController(不是 UISearchDisplayController,因为它在 iOS 8 中已弃用)但我不知道如何链接它们。

我应该只有一个 NSFetchedResultsController 还是两个?我想有一种方法可以使用 NSFetchedResultsController 获取所有数据,然后根据 UISearchController 对它们进行排序,我错了吗?

感谢您在这方面给我的帮助。

最佳答案

一些想法...

当您为 searchController 创建 resultsController 时,您可以将要搜索的数据传递给它。如果您在主表中使用 NSFetchedResultsController,您可以传递 fetchedObjects 数组。然后响应搜索文本的更改,过滤数组(您可以使用谓词和 filteredArrayUsingPredicate 创建一个包含搜索结果的单独数组,或者您可以遍历数组来构建它) .这种路线的缺点是(除非您手动实现)搜索结果不会被分成单独的部分,并且如果基础数据发生变化(例如在后台线程上),搜索结果不会自动更新。

我想你可以有第二个 NSFetchedResultsController:这将有助于使用部分,并且如果你的数据正在后台更新,则可能允许结果自动更新(使用委托(delegate)方法) , 例如。但我会担心它引入的复杂性。

如果您选择就地应用搜索(即指定 resultsController = nil),另一种选择是使用搜索条件更新 NSFetchedResultsController 本身(即修改基础谓词并重新执行提取)。这样,您的搜索表看起来和感觉起来与主表(包括部分,如果您使用它)完全一样,但随着搜索条件变得更细,显示的行明显减少。需要注意此选项以确保正确重建 FRC,如果您有大型数据集,则在性能方面可能 Not Acceptable 。

关于ios - 如何一起使用 NSFetchedResultsController 和 UISearchController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28643136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com