IBOutlet ноль - кнопка - PullRequest
       29

IBOutlet ноль - кнопка

0 голосов
/ 20 ноября 2018

У меня есть HomeController и registerController. HomeController встроен в контроллер навигации и является корневым контроллером представления. Если я представляю registerController модально в ViewCillAppear HomeController:

let reg = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "signup") as! RegisterController
reg.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
reg.modalTransitionStyle = UIModalTransitionStyle.flipHorizontal
reg.view.frame = self.view.frame
self.view.addSubview(reg.view)

Нет проблем. НО, если я представлю это, помещая его в стек контроллера навигации:

let v = RegisterController()
    self.navigationController?.pushViewController(v, animated: true)

приложение вылетает и говорит, что IBOutlet для кнопки регистрации (которая находится в registerController) равен нулю. Я заново создал розетку, очистил проект и перезапустил xcode, и ничего не помогло ...

1 Ответ

0 голосов
/ 20 ноября 2018

Это не «ошибка».Ваш код виноват.Это не имеет ничего общего с выдвижением против представления.Дело в том, что эта строка неверна:

let v = RegisterController()

Это создает контроллер представления barebones без подключенных розеток.Розетки подключены в экземпляре раскадровки этого класса.Создайте контроллер представления из раскадровки , как вы делали в первом коде, и все будет хорошо.

let v = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "signup") as! RegisterController
...