У меня есть объект, который использует словарь ключевых путей для получения запросов. Каждый запрос на выборку представляет отдельный объект. Все это прекрасно и работает под Swift 2.3 и ниже. Однако, когда я пытаюсь преобразовать свой проект в Swift 3, у меня возникают проблемы с новыми дженериками для запросов на выборку. Запросы на выборку, как правило, имеют тип, который они возвращают, связанный с ними, но мой словарь должен иметь запросы на выборку, которые возвращают все виды типов. Когда я пытаюсь создать словарь типа [String:NSFetchRequest<NSManagedObject>] или [String:NSFetchRequest< NSFetchRequestResult >] с запросами на выборку, относящимися конкретно к типу NSFetchRequest<Message>. (Message является подклассом NSManagedObject) я получаю ошибку компилятора:
Не удается преобразовать значение типа «NSFetchRequest‹ Message >» в ожидаемый словарь
тип значения «NSFetchRequest»
Как преобразовать один запрос на выборку в более общий тип запроса на выборку?
AnyObjectили используйтеNSDictionary. - person Tom Harrington   schedule 29.06.2016Swift2, чтобы мы могли попытаться преобразовать его вSwift3- person   schedule 30.06.2016fetchRequestA as! NSFetchRequest<NSManagedObject>работает. Это довольно неуклюже, но это работает. - person David Beck   schedule 30.06.2016