Ваш код, кажется, вызывает запрос на объекте Задача и правильно получает результаты в массиве.Я бы посоветовал вам посмотреть, действительно ли вы сохраняете предыдущие попытки сохранить значение в своей сущности базовых данных Задача , прежде чем запрашивать подобные запросы.
Дон 'не стоит забывать, что иногда Core Data решает отложить фактическое хранение информации в своей БД.
Поэтому попробуйте форсировать сбережения в CoreDB, прежде чем запрашивать.Чтобы это произошло, убедитесь, что вы вызываете ".save ()", чтобы гарантировать, что Core Data сразу отправит (и выполнит) запрос на сохранение.
Пример кода для принудительного сохранения ниже приведен ниже:
do {
try context.save()
} catch {
print("Failure to save context: \(error)")
}
}
-
Редактировать (24/11/2018 3:07 AM GMT + 01: 00):
Читая ваш комментарий,похоже, вы просто хотите отфильтровать запросы по определенному значению, а не запрашивать самые последние.Для этого просто раскомментируйте код:
//request.predicate = NSPredicate(format: "age = %@", "12")
Кому:
request.predicate = NSPredicate(format: "age = %@", "12")
Внутри вызова формата формата NSPredicate предполагается, что вы хотите использовать в качестве выражения вашей фильтрации.Если вы хотите отфильтровать его по возрасту, ваш пример уже готов для вас.
Я также приложу пример других моих кодов.
request.predicate = NSPredicate(format: "(time >= %@) AND (time <= %@)", fromDateUnformatted as NSDate, toDateUnformatted as NSDate)
Теперь, если вы хотите выполнить запросы, связанные с отношениями (двойной или более запросов одновременно, чтобы копать информацию дальше внутриОтношения сущностей), то есть другие способы сделать это.
Дайте мне знать, если я иду в правильном направлении, чтобы найти ответ.