Core data 在核心数据获取请求中忽略谓词

Core data 在核心数据获取请求中忽略谓词,core-data,predicate,nsfetchrequest,Core Data,Predicate,Nsfetchrequest,有人能告诉我为什么忽略下面的questionFetch谓词,返回的questionResults.count是整个数据集中的行数吗?数据集中只有两行questionType等于0,这应该是返回的唯一两行。而是返回所有88行数据 let questionFetch: NSFetchRequest<Question> = Question.fetchRequest() questionFetch.predicate = NSPredicate(format: "%K == %i”,

有人能告诉我为什么忽略下面的questionFetch谓词,返回的questionResults.count是整个数据集中的行数吗?数据集中只有两行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)
然而,下面的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)
let choiceFetch:NSFetchRequest=Choice.fetchRequest()
choiceFetch.predicate=NSPredicate(格式:“%K==%i”,
#密钥路径(Choice.questionID),currentQuestionID)
让choiceResults=尝试managedContext.fetch(choiceFetch)
打印(“choiceResults.count:,choiceResults.count”)

任何想法都可以。

questionType属性是字符串还是数字?questionType是int,就像questionID是第二个代码块中的int一样。
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)