core-data - 在核心数据获取请求中忽略谓词
问题描述
谁能告诉我为什么下面的 questionFetch 谓词被忽略,而返回的 questionResults.count 是整个数据集中的行数?数据集中只有 2 行 questionType 等于 0,这应该是唯一返回的两行。而是返回所有 88 行数据。
let questionFetch: NSFetchRequest<Question> = Question.fetchRequest()
questionFetch.predicate = NSPredicate(format: "%K == %i”,
#keyPath(Question.questionType), currentQuestionType)
let questionResults = try
modelController.coreDataStack.managedContext.fetch(questionFetch)
print("questionResults.count: ", questionResults.count)
请注意,我还尝试在比较中使用硬编码值,以确保问题不是由于 currentQuestionType 变量中的值不正确造成的。
questionFetch.predicate = NSPredicate(format: "%K == 0”,
#keyPath(Question.questionType))
然而,下面的choiceFetch 谓词具有几乎相同的逻辑,适当地限制了结果。
let choiceFetch: NSFetchRequest<Choice> = Choice.fetchRequest()
choiceFetch.predicate = NSPredicate(format: "%K == %i",
#keyPath(Choice.questionID), currentQuestionID)
let choiceResults = try managedContext.fetch(choiceFetch)
print("choiceResults.count: ", choiceResults.count)
任何想法,将不胜感激。
解决方案
推荐阅读
- javascript - 如何使用页面操作将消息从 popup.js 发送到 background.js,以便它执行内容脚本?
- java - 这个 setupWithViewPager 错误有什么解决方案吗?
- objective-c - 惰性命名的类不是由惰性名称处理程序命名的
- php - 当我组合每个 a 中的乘法结果时,结果错误
- c++ - 带字符串的左孩子,右兄弟二叉树
- ruby-on-rails - 将具有增量 id 的现有表(包含数据)转换为 uuid?
- assembly - 如何有效地将 zmm 寄存器的低 64 位保存到内存中?
- git - how to re set up parent branch where we make new branch there
- html - 按钮不会重定向到外部页面
- json - How to convert a response from Invoke-RestMethod to JSON?