#ios #swift #nsfetchrequest
#iOS #быстрый #nsfetchrequest
Вопрос:
Я работаю над macOS
приложением и использую CoreData
для хранения в базе данных. Приложение предоставит поддержку от OS X 10.11
и выше. На OS X 10.12
компьютере приложение работает нормально, но OS X 10.11
оно не работает до того, как я вызову метод хранения базы данных, который обновляется в пользовательском интерфейсе, например, установить текст метки подобным образом. После вызова этого метода CoreData пользовательский интерфейс также не обновляется. Я выясняю из-за приведенного ниже кода
let fetchRequest:NSFetchRequest<Entity> = Entity.fetchRequest()
do {
let dbDisc = try managedObjectContext.fetch(fetchRequest) as! [Entity]
}
пожалуйста, скажите мне, каково решение для этого?
Ответ №1:
Для iOS я использую этот код для проверки текущей версии:
if (@available(iOS 10.0, *)) {}
Я думаю, что для macOS это может быть тот же синтаксис. Смотрите этот пост
Комментарии:
1. Я пробовал это также не работает. Я уверен, что проблема с NSFetchRequestResult (доступно 10.12 ). Итак, я попробовал разрешить fetchRequest = NSFetchRequest(EntityName: «Cart»), но возникла проблема типа «не удалось определить общий метод», и он был вынужден измениться как «разрешить fetchRequest:NSFetchRequest<Entity> = Entity. fetchRequest()». Не знаю, как решить