iOS异常:NSUnknownKeyException:“在将xib作为所有者连接到ViewController之后,”此类不符合键值的键值“
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS异常:NSUnknownKeyException:“在将xib作为所有者连接到ViewController之后,”此类不符合键值的键值“相关的知识,希望对你有一定的参考价值。
我想用ViewController创建一个XIB。所以我使用ViewController创建了XIB(名为Test.xib),并将File的Owner自定义类设置为ViewController(名为:TestViewController)。
到现在为止还挺好。我可以在另一个视图控制器中加载xib并将其添加为子视图,如下所示:
let vc = Bundle.main.loadNibNamed(xibName, owner: self, options: nil)?.first as! UIViewController
vc.view.frame = contentView.bounds
vc.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
addChildViewController(vc)
contentView.addSubview(vc.view)
一旦我想通过在助理编辑器中拖动它来从我的ViewController中的xib创建IBOutlet,就会出现错误。
我查看了有关此错误的其他帖子,但似乎没有解释为什么在这种情况下发生这种情况,我无法使用建议的解决方案解决它。
我在“连接检查器”中看到,引用插座从StackView链接到“文件所有者”。那是对的吗?
答案
class YourViewClass:UIView{
public static let nibName = "YourViewClass"
public static let nib = YourViewClass.getNib()
class func getNib() -> UINib {
return UINib(nibName: YourViewClass.nibName, bundle: nil)
}
class func viewFromNib()-> YourViewClass {
let nib = YourViewClass.getNib()
return nib.instantiate(withOwner: self, options: nil).first as! YourViewClass
} }
以上是关于iOS异常:NSUnknownKeyException:“在将xib作为所有者连接到ViewController之后,”此类不符合键值的键值“的主要内容,如果未能解决你的问题,请参考以下文章