作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获取按其属性之一(单词)过滤的实体列表,为此我使用了 fetchedResultsController,一切看起来都正常。该列表已加载并显示在我的 tableView 上,我什至可以对列表进行排序,但是当我尝试使用 predicate 过滤它时,没有任何反应。我不知道我做错了什么。我尝试了苹果网站和 stackoverflow 的一些问题,我真的不知道我做错了什么。
这是我的 fetchedResultsController
代码lazy var fetchedResultsController: NSFetchedResultsController<TranslationContainer> = {
let fetchRequest = NSFetchRequest<TranslationContainer>()
let entity = TranslationContainer.entity()
fetchRequest.entity = entity
let predicate = NSPredicate(format: "word == %@", "Bed")// doesn't filter
fetchRequest.predicate = predicate
let sortDescriptor = NSSortDescriptor(key: "word", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
fetchRequest.fetchBatchSize = 20
let fetchedResultsController = NSFetchedResultsController(
fetchRequest: fetchRequest,
managedObjectContext: self.managedObjectContext,
sectionNameKeyPath: nil,
cacheName: "TranslationContainers")
fetchedResultsController.delegate = self
return fetchedResultsController
}()
如有任何建议,我们将不胜感激!
最佳答案
NSFetchedResultsController 可以选择性地缓存结果,如果您像上面的代码那样更改 NSPredicate,缓存内容可能会不同步。解决这个问题的一种方法是在设置新谓词之前删除缓存:
NSFetchedResultsController.deleteCache(withName: "TranslationContainers")
fetchedResultsController.fetchRequest?.predicate = predicate
关于ios - fetchedResultsController 不过滤 (fetchRequest),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42604054/
我是一名优秀的程序员,十分优秀!