有谁可以告诉我为什么忽略下面的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)
任何想法都会受到赞赏。