Как мне сделать запрос на выборку, используя новую функцию fetchRequest NSManagedObject?
В 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.
ВопросИспользуя новейшие функции Core Data API, как сделать простой запрос на выборку? Основной вопрос заключается в том, как мне перевести мой NSmanagedObjectCotnext в область видимости.
Я должен отметить, что я могу успешно сделать запрос, используя традиционный синтаксис.