2016-09-08 7 views
9

В соответствии с этим article мне нужно указать тип объекта для типа поиска, но ниже функция - это вызов из apple api, должен ли я ждать, пока Xcode8 действительно выпустит ? или мне что-то не хватает?xcode8 beta 'Ошибка' неоднозначно для поиска типа в этом контексте

функция AppDelegate.swift

enter image description here

Импорт раздела enter image description here

+0

Можете ли вы опубликовать все содержимое этого файла, в том числе ваши заявления об импорте? Существует много шансов, что несколько импортированных модулей предоставляют тип «Ошибка», и вам нужно указать, какой из них вы хотите. Кроме того, возможно, сигнатура типа изменилась в iOS 10, но предыдущие версии этого метода использовали 'NSError', а не' Error'. –

+2

Xcode 8 GM уже доступен для скачивания –

+0

func application (_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) –

ответ

23

Решение просто ввести Swift.Error вместо Error

Проблема возникает, когда один из ваших модулей имеют свой собственный тип ошибки ...:/

Например

func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Swift.Error) {} 

Я надеюсь, что это работает для вас :)

+0

Спасибо за ответ! После обновления до xcode 8 GM решила проблему –

+0

Ваш прием :) – BilalReffas

6

Тип Error объявлен в двух импортируемых модулей. Вы должны указать модуль, из которого следует использовать этот тип. Используйте Swift.Method вместо Method.

Совет: Если вы используете тип часто, вы можете создать псевдоним типа в модуле (приложение):

typealias Error = Swift.Error 

Таким образом, вам не нужно будет префикс типа с Swift. больше ,

+0

^^ Благодарим вас за ответ –