【发布时间】:2016-02-16 19:20:38
【问题描述】:
标题已经说明了。 从 nsfetchedresultscontroller 中删除缓存的快速代码是什么。
这是我得到的错误:
You have illegally mutated the NSFetchedResultsController's fetch request, its predicate, or its sort descriptor without either disabling caching or using +deleteCacheWithName:'
和代码:
if arranged == "naam - A-Z" {
let sortDescriptor = NSSortDescriptor(key: "name", ascending: true)
self.fetchedResultsController.fetchRequest.sortDescriptors = [sortDescriptor]
}else if arranged == "naam - Z-A" {
let sortDescriptor = NSSortDescriptor(key: "name", ascending: false)
self.fetchedResultsController.fetchRequest.sortDescriptors = [sortDescriptor]
}else if arranged == "gemiddelde - 1-10" {
let sortDescriptor = NSSortDescriptor(key: "gemiddelde", ascending: true)
self.fetchedResultsController.fetchRequest.sortDescriptors = [sortDescriptor]
}else if arranged == "gemiddelde - 10-1" {
let sortDescriptor = NSSortDescriptor(key: "gemiddelde", ascending: false)
self.fetchedResultsController.fetchRequest.sortDescriptors = [sortDescriptor]
}
do {
try _fetchedResultsController!.performFetch()
} catch {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
// print("Unresolved error \(error), \(error.userInfo)")
abort()
}
tableView.reloadData()
如果您需要更多信息,请告诉我。
更新:
我想要这样的东西:
fetchedResultsController.deleteCacheWithName("Master")
但我不知道怎么做。
【问题讨论】:
-
只需查找 NSFetchedResultsController 类引用,它有一个专门的部分“缓存”。
-
我知道该基金,但我不知道如何使用它,因为:fetchedResultsController.deleteCacheWithName("Master") 不起作用
标签: swift caching nsfetchedresultscontroller