Недавно изменился, рассматривающим в моем проекте является отправной точкой (со стрелкой, указывающей на него в IB), и теперь я получаю следующее сообщение об ошибке, когда приложение запускается в тренажере:Почему self.currentViewController nil в ViewDidLoad()?
fatal error: unexpectedly found nil while unwrapping an Optional value
ошибка происходит во время ViewDidLoad() представления, которое было отправной точкой, но которой нет сейчас. Честно говоря, даже не уверен, почему он загружается, но это не входит в Swift. Я знаю достаточно, чтобы узнать, ожидаются ли это представление (также) загрузка при запуске или нет. Код, где происходит ошибка:
override func viewDidLoad() {
print("Former First View starts DidLoad")
// Code to enable the containerView to work:
self.currentViewController = self.storyboard?.instantiateViewController(withIdentifier: "SmallViewWithinMainView")
self.currentViewController!.view.translatesAutoresizingMaskIntoConstraints = false
self.addChildViewController(self.currentViewController!)
// Error occurs in the next line:
self.addSubview(subView: self.currentViewController!.view, toView: self.SortFilterEtcContainerView)
super.viewDidLoad()
// ...
С тестированием self.currentViewController это на самом деле в настоящее время отсутствует, но я не ясно, как исправить ситуацию. Перед изменением, когда в этом представлении началось все, все прошло отлично. Что должно произойти, так что self.currentViewController больше не равен нулю?
super.viewDidLoad() сверху, кажется, что viewcontroller не инициализируется. –
Если 'self.currentViewController' равен нулю, я ожидаю, что ваша ошибка возникнет двумя строками раньше. Вы уверены, что это 'currentViewController', который равен нулю, или это может быть' self.SortFilterEtcContainerView', что равно нулю? – pbasdf
@pbasdf Добавлен код для проверки каждой вещи в отдельности, и это self.currentViewController, который равен нулю, даже с самого начала. Согласитесь, что ошибка не появляется до тех пор, пока она не появится. Что может сделать self.currentViewController нулевым? – ConfusionTowers