У меня есть некоторые проблемы с обработкой развернутой дополнительной константы на UIViewController.swift: обработка развернута опция в представленииDidLoad
Потому что компоненты пользовательского интерфейса существуют только после вызовов viewDidLoad. Кажется, я не могу использовать модификатор константы 'let' для постоянных переменных, которым нужна зависимость GUI.
Вот пример:
class ViewController: UIViewController {
@IBOutlet weak var blueSquare: UIView!
var animator:UIDynamicAnimator!
required init(coder aDecoder: NSCoder) {
// If animator was constant, it should be initialized here.
// But blueSquare is not initialized at this time, so I can't
// call UIDynamicAnimator(referenceView: blueSquare)
super.init(coder: aDecoder)
}
override func viewDidLoad() {
super.viewDidLoad()
// At this time, the initialisation is ok. But animator is now
// actually modifiable
self.animator = UIDynamicAnimator(referenceView: blueSquare)
}
}
Как вы можете видеть, аниматор написано, как будто это может быть изменяемым. Намерения нет.
Мой вопрос:: есть ли хороший шаблон, который может поставить «аниматор» как постоянный? Я не нашел никакой документации, связанной с viewDidLoad и константами с парадигмой зависимости GUI.