Может кто-нибудь сказать мне, почему предикат questionFetch, приведенный ниже, игнорируется, а возвращаемое значение questionResults.count является количеством строк во всем наборе данных?В наборе данных есть только 2 строки с вопросом тип, равным 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)
Любые идеи приветствуются.