В iOS 10 команда CoreData добавила новый метод fetchRequest в NSManagedObject. Это выглядит так:
public class func fetchRequest() -> NSFetchRequest<NSFetchRequestResult>
Что из того, что я понимаю, позволяет нам заменить это:
let request = NSFetchRequest<MyEntity>(entityName: "MyEntity")
с этим:
let request = MyEntity.fetchRequest()
Однако, когда я пытаюсь сделать простой запрос следующим образом:
let request = MyEntity.fetchRequest()
do {
results = try request.execute()
} catch let error {
print("failed to fetch coffee object: \(error)")
}
Я получаю следующую ошибку:
Ошибка домена = NSCocoaErrorDomain Code = 134060 "(null)" UserInfo = {message = Не удается получить без NSManagedObjectContext в Объем}
Итак, очевидно, что ошибка заключается в том, что мне нужно привести NSManagedObjectContext в область видимости. Я искал примеры, но могу найти полный пример того, как выполнить запрос, используя новые функции API.
Вопрос
Используя новейшие функции API Core Data, как мне сделать простой запрос на выборку? Основной вопрос заключается в том, как принести свой NSmanagedObjectCotnext в область видимости.
Я должен отметить, что я могу успешно сделать запрос с использованием традиционного синтаксиса.