Я пытаюсь создать простой повторно используемый компонент (фактически полностью пустой, просто цвет фона, чтобы отличить его), но когда я пытаюсь использовать декоратор IBDesignable, чтобы сделать его отображаемым в редакторе XCode Interface Builder, он дает мнеошибка:
Failed to render and update auto layout status for AnnounceVC: The agent crashed.
Кажется, эта ошибка исходит от моего компонента XIB и его быстрого класса.
Вот мой код класса AnnounceBubbleView:
import UIKit
@IBDesignable class AnnounceBubbleView: UIView {
@IBOutlet var contentView: UIView!
override init(frame: CGRect) {
super.init(frame: frame)
addSubview(contentView)
}
required init(coder: NSCoder) {
super.init(coder: coder)!
}
}
Когда яперейдите в папку DiagnosticReports, и я нахожу мой сбой, он дает мне это:
Sleep/Wake UUID: F0240558-7F85-40FC-ADCC-7E95493F1BAA
Time Awake Since Boot: 2700 seconds
Time Since Wake: 2300 seconds
System Integrity Protection: enabled
Crashed Thread: 0
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: exc handler [3224]
Application Specific Information:
CoreSimulator 587.35 - Device: iPhone 8 (07FC5929-A66D-4560-8FBE-39DF290CD7EB) - Runtime: iOS 12.2 (16E226) - DeviceType: iPhone 8
Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value
Я пытался использовать
required init?(coder: NSCoder) {
super.init(coder: coder)
}
Но это дает мне ту же ошибку, и XCode выигралне создайте, если я не добавлю значение Optional или Forced.
EDIT
В случае, когда я удаляю часть «addSubview», тогда UIViewне мой пользовательский вид, ни на IB, ни в эмуляторе iOS.Это пустой пустой UIView
код:
override init(frame: CGRect) {
super.init(frame: frame)
}
override required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
РЕДАКТИРОВАТЬ 2
Я не запускаю его программно, я хотел бы иметь возможностьчтобы просмотреть его в раскадровке.
У вас есть идеи?
Не стесняйтесь помочь мне улучшить мой пост, если он недостаточно ясен, я новичок в Swift и XCode.