gpt4 book ai didi

ios - NSFetchedResultController 缓存的结果不会消失

转载 作者:行者123 更新时间:2023-11-30 12:31:09 25 4
gpt4 key购买 nike

我有一个 NSFetchedResultsController,它取自一个 azure 的示例。它运行良好并且可以正确地从数据库中获取数据,但是如果我退出应用程序并从数据库中删除记录,它们仍然会显示在我的应用程序中,并且如果不重新安装应用程序,就无法使它们消失。有谁知道这可能是什么原因造成的?我没有设置缓存,我尝试设置一个并在启动时删除它,但没有成功。这是 fetchedResultController 的代码。

lazy var fetchedResultController: NSFetchedResultsController<NSFetchRequestResult> = {
let fetchRequest:NSFetchRequest<NSFetchRequestResult> = NSFetchRequest(entityName: "Events")
let managedObjectContext = (UIApplication.shared.delegate as! AppDelegate).managedObjectContext!

fetchRequest.predicate = NSPredicate(format: "completed != true")
//fetchRequest.predicate = NSPredicate(format: "text != ''")

fetchRequest.sortDescriptors = [NSSortDescriptor(key: "createdAt", ascending: true)]

let resultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)

resultsController.delegate = self;

return resultsController
}()

最佳答案

从您显示的配置中我绝对可以看出它没有与 NSFetchedResultsController 的缓存连接。因为你没有在构造方法中设置Cache name。

来自 Apple 文档。

When you initialize an instance of NSFetchedResultsController, you typically specify a cache name. (If you do not specify a cache name, the controller does not cache data.)

可能您的数据库未从服务器正确获取更新。

关于ios - NSFetchedResultController 缓存的结果不会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43546318/

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