繁体   English   中英

使用IBOutlets加载NIB / XIB文件

[英]Loading a NIB/XIB file with IBOutlets

我想从XIB文件加载UIView,我能够通过以下方式成功完成:

let nib = UINib(nibName:“CardView”,bundle:nil).instantiateWithOwner(nil,options:nil).first as! 的UIView

其中CardView是我的XIB文件的名称。 现在,当我尝试将IBOutlet添加到XIB文件时:

在此输入图像描述

我收到此错误:

'NSUnknownKeyException',原因:'[setValue:forUndefinedKey:]:此类不是关键短语Label的键值编码兼容。

我已经检查过XIB文件中没有任何孤立的IBOutlets。 所以认为这是因为我没有将nib转换为CardView类,我尝试了这个:

let nib = UINib(nibName:“CardView”,bundle:nil).instantiateWithOwner(nil,options:nil).first as! CardView

但我最终得到了这个错误:

无法将'UIView'(0x10c058df8)类型的值转换为'LazyFlashCards.CardView'(0x10934bb00)。

所以我猜我正在错误地实例化XIB文件,但我不知道“正确”的方法来做到这一点

如果您在测试中遇到此问题,则需要将所有者设置为测试目标。

bundle.loadNibNamed("myNib", owner: testSubject) // owner != nil

我刚刚写了一个例子来通过swift从XIB加载uiview,你可以阅读,希望这对你有所帮助!

https://github.com/lengocgiang/loadViewFromXib

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM