目录

  • 编译器运行后报错
  • 问题原因:
  • 这种问题仅限于swift调用其他项目的oc xib
    • 其他项目的oc xib配置如下:

之前封装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.问题的解决相关推荐

  1. swift调用oc_OC与Swift混编,三种场景的实现方式

    多语言并存时期,混编成为一种必须的方式 ,在多场影中实现OC和Swift语言的并存原来是如此简单 第一种场景,App中实现混编 创建桥接文件*.h 新建一个桥接文件,New File 选择 Heade ...

  2. xcode12.3 swift 桥接文件_OC与Swift混编项目迁移到Swift4.2小记

    OC与Swift混编项目迁移到Swift4.2小记 前言 自从Xcode10正式版发布之后, 先吃螃蟹的朋友赞叹了Dark Mode的惊艳, 同时也报告说, 打包上传到APPStroe后, 监测到线上 ...

  3. 网易漫画Swift混编实践

    \ 本文为『移动前线』群在4月8日的分享总结整理而成,转载请注明来自『移动开发前线』公众号.\ 嘉宾介绍 \ 胡波,来自于网易杭州研究院,之前在网易杭研移动应用部参与网易公开课/网易看游戏/网易云阅读 ...

  4. 京东App Swift 混编及组件化落地

    背景 自 Swift 诞生以来,逐步见证其从饱受诟病到日渐完善.在苹果的全力推动下,潜移默化地把开发支持中心从 Objective-C 转向 Swift,在业界的呼声也越演越烈.当我们相继迎来 ABI ...

  5. Objective-C 和 Swift 混编项目的小 Tips(一)

    本文主要闲聊一些 Objective-C 和 Swift 混编项目带来的一些潜规则,希望能帮到对此感到疑惑的朋友.下面我们开始进入主题: 命名 官方 Guide 上只是简单叙述(Using Swift ...

  6. 初探swift语言的学习笔记九(OC与Swift混编)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/34440159 转载请注明出处 如果觉得文章对你有所帮助,请通过留言 ...

  7. IOS --- OC与Swift混编(转)

    原文地址:http://blog.sina.com.cn/s/blog_8d1bc23f0102v5tl.html swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一 ...

  8. OC与Swift混编 注意事项

    前言 随着Swift发展, 很多新的项目开始使用Swift作为首选语言. Swift语言以其简洁.快速.安全的特点获得了一大波粉丝,我也是其中之一. 项目背景:公司一些旧项目大都使用OC编写, 运营中 ...

  9. oc与swift混编教程

    原文地址:http://blog.csdn.net/fengsh998/article/details/34440159 转载请注明出处 swift 语言出来后,可能新的项目直接使用swift来开发, ...

  10. swift混编oc碰到的问题

    在swift中混编苹果官方的Reachability OC文件. 因为swift工程的target是生成framework而非app,framework中调用oc与app中使用桥接文件还不一样,参考: ...

最新文章

  1. pycharm 在ubuntu18.04 20.04以上保存在侧边栏的方法
  2. vs2010安装AnkhSVN,但是不起作用解决方法
  3. 操作系统回忆录:进程、线程、资源调度
  4. 手机端召唤Debug
  5. C语言字符串、字符数组
  6. python函数递归 字符串反转
  7. 见过一个一个拉新地推没见过这么多一起推
  8. 【java笔记】函数式接口
  9. 为什么互联网公司崇尚扁平化管理?
  10. PMSM矢量控制之RAMP_GEN
  11. 所有的风只向她们吹 所有的日子都为她们破碎——査海生《四姐妹》
  12. 信用卡上了“灰名单”怎么办?如何解除?
  13. SQL Server2008从入门到精通pdf
  14. c数组(结构体数组)定义与初始化
  15. 生产订单在做MIGO+101收货时,报错订单不存在有效的订单项
  16. 【PM】从产品经理的角度探索游戏产品
  17. 同样的工作、同样的做需求,为什么他们能进阿里
  18. mysql 数据库集群状态查看_MySQL数据库集群进行正确配置步骤
  19. 身份证、护照、军官证、户口本验证工具类
  20. Vue使用Animate.css和WOW.js(AOS.js)来实现页面滚动触发动画

热门文章

  1. 计算机图形学(二)——画一个三角形1.0
  2. 一文了解DataStore(Preferences)
  3. Excel: 批量去除空格的函数——trim函数, substitute函数,clean函数
  4. 方法重写和重载的区别
  5. 8种教你如何快速提高平面设计技巧
  6. 图片太大怎么压缩变小?图片如何压缩?
  7. Chapter 5 (Limit Theorems): Markov and Chebyshev Inequalities (马尔可夫和切比雪夫不等式)
  8. golang ——An existing connection was forcibly closed by the remote host.
  9. 曝光!中国知名互联网公司背后的风投
  10. MATLAB清除内存中变量