Сразу после создания экземпляра контроллера розетки еще не подключены, вы должны объявить временные переменные и установить свойства розетки в
тоящее время я учусь быстро, и я пытаюсь узнать об экземплярах из раскадровки, но ошибка, с которой я сталкиваюсь сейчас, не очень задокументирована.
Я создал viewcontroller в своей основной раскадровке и указал его тип как пользовательский класс, который я вызывал ранееSimpleNewsViewControllerВот код моего класса, это не сложно:
class SimpleNewsViewController: UIViewController {
@IBOutlet weak var myImage: UIImageView!
@IBOutlet weak var myLabel: UILabel!
@IBOutlet weak var myText: UITextView!
var event: Events!
override func viewDidLoad() {
super.viewDidLoad()
}
}
На моей основной раскадровке есть пользовательский ViewController, который я указал:Моя раскадровка
Теперь вот проблема: в моем коде я создаю экземпляр моего ViewController благодаря instanciateViewController (идентификатор: "NewsView"), а затем я пытаюсь установить свои 3 атрибута, как в этом фрагменте кода:
...
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "NewsView") as! SimpleNewsViewController
//controller.myImage.image = UIImage(named: "image.jpg")
//controller.myText.text = "this is an example that can be really long"
//controller.myTitle.text = "this is a title example
self.navigationController?.pushViewController(controller, animated: true)
...
Если я откомментирую три строки, у меня будет сообщение об ошибке:
Неустранимая ошибка: неожиданно обнаружен ноль при развертывании необязательного значения
В среде IDE также отображается код ошибки и поток (если это может помочь):Ошибка