Подготовить (для: отправитель:) не вызывать

Я скачал пример проекта Apple MyLife и попытался собрать и запустить его, используя Xcode 8 beta 6.

Есть два места, где контроллер представления реализовал prepare(for:sender:) позвоните, чтобы заняться чем-то еще до того, как начнется работа над раскадровкой.

    override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) {

В этой строке есть ошибка: "Метод не переопределяет ни один метод из своего суперкласса".

Если я удаляю переопределение, приложение строит, но метод не вызывается, когда это должно быть.

1 ответ

Решение

Подпись метода изменилась. sender сейчас Any? вместо AnyObject?

override func prepare(for segue: UIStoryboardSegue, sender: Any?)

Это должно совпасть с изменениями в том, как Swift соединяется с obj-c, описанными здесь в разделе "Новое в Xcode 8 beta 6 - Swift Compiler"

Другие вопросы по тегам