首页 / IOS-SWIFT / swift混编调用oc编写的Xib UIView出现[Storyboard] Unknown class in Interface Builder file.问题的解决
swift混编调用oc编写的Xib UIView出现[Storyboard] Unknown class in Interface Builder file.问题的解决
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了swift混编调用oc编写的Xib UIView出现[Storyboard] Unknown class in Interface Builder file.问题的解决,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1438字,纯文字阅读大概需要3分钟。
内容图文
![swift混编调用oc编写的Xib UIView出现[Storyboard] Unknown class in Interface Builder file.问题的解决](/upload/InfoBanner/zyjiaocheng/1035/0fabba18d6784e1ab8e842053c9a5be3.jpg)
目录
之前封装xib都是封装的控制器,今年开始把UIView封装成Xib,这样更灵活,但是之前都是封装的Swift的Xib给Swift项目用,今天封装了Oc Xib给Swift项目调用发现了问题.在Storyboard里面不识别oc 的Xib
编译器运行后报错
[Storyboard] Unknown class _TtC24TDWTZImagePickerViewDemo20TDWTZImagePickerView in Interface Builder file.
意思Interface Builder 可视化编辑文件中找不到类TDWTZImagePickerView .
但是编译却通过了,运行时候有问题.这个如果是普通的swift项目,马上就知道是类名写错导致的.但是我已经在桥接文件里面导入了正确的.h文件
在这里插入图片描述
问题原因:
swift项目导入oc 的xib,如果是当前项目生成的xib,可以在inherit Module From Target上面打勾,跟我上面配置一样,但是我这个oc的xib是其他项目里面写的xib,在当前项目里面是为了使用.所以不能这样选择inherit Module From Target,翻译过来就是:从target继承模块 .这个打勾的话,不行.
这种问题仅限于swift调用其他项目的oc xib
我实验了用swift项目调用其他swift xib就没事.
看看正确的swift调用其他项目oc xib UIView的配置方法:
其他项目的oc xib配置如下:
File’s owner 勾选 :inherit Module From Target .模块继承自target
在要加载的视图里面,例如Main.Storyboard里面新建UIView,在类名里面写上 oc的Xib名字,并且module不写东西,下面的inherit Module From Target也不勾选.
然后运行之后就会发现.storyboard可以找到oc 的xib,并且运行到了 xib绑定的类文件的initWithCoder中,如下图,storyboard找到了xib绑定的类文件:
运行结果如下,xib的视图被加载到了storyboard上面:
内容总结
以上是互联网集市为您收集整理的swift混编调用oc编写的Xib UIView出现[Storyboard] Unknown class in Interface Builder file.问题的解决全部内容,希望文章能够帮你解决swift混编调用oc编写的Xib UIView出现[Storyboard] Unknown class in Interface Builder file.问题的解决所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。