Ошибка возникает из-за того, что вы должны присвоить каждому неинициализированному свойству значение в каждом указанном инициализаторе, прежде чем вызывать super.init
Вы не указали значение для всех своих свойств в инициализаторе init(coder:)
, следовательно,ошибка.
Вы можете просто позвонить fatalError
в инициализаторе:
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
Вызов fatalError
здесь допустим, потому что вы создаете UIView
только по коду, поэтому вышеинициализатор не будет вызван.Она будет вызываться , когда вы загрузите свое представление из XIB или раскадровки, и в этом случае вам придется декодировать значения из NSCoder
и назначить свойства.