我有一个关于以编程方式从XIB加载视图并使用outlet的问题:
我为XIB的观点创建了课程:
class VoiceRecView: UIView {
@IBOutlet weak var recButton: UIButton!
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
@IBAction func recButtonTapped(_ sender: Any) {
print("rec button tapped")
}
}
在XIB中,我将文件所有者的类设置为我的视图控制器,并将类视图转换为" VoiceRecView"。
在视图控制器中,我将XIB添加为子视图:
let voiceRecView = UINib(nibName: "VoiceRecView", bundle: nil).instantiate(withOwner: self, options: nil)[0] as! VoiceRecView
self.view.addSubview(voiceRecView)
当我运行应用程序时,我收到错误:
因未捕获的异常终止应用' NSUnknownKeyException', 原因:' [< .... ChatViewController 0x7fd0a27077e0> setValue:forUndefinedKey:]:此类不是键值 符合编码的密钥recButton。'
答案 0 :(得分:1)
错误是我的错,通过删除并重新连接插座来解决。