美文网首页
Object-C与Swift的混编

Object-C与Swift的混编

作者: yun_xi | 来源:发表于2020-03-20 18:46 被阅读0次

关于swift与oc的混编分为两种情况:

1. 在swift项目中引入OC文件

在swift项目中使用oc的时候需要用到桥接文件,当我们在swift项目中第一次创建oc类的时候会自动创建一个名为:工程名-Bridging-Header.h的文件,如果我们不小心删除了这个文件,我们只需要再创建一个名字为:工程名-Bridging-Header.h的文件,或者创建一个任意命名的.h头文件,然后去项目中的Target -> Build Setting -> Swift Compiler - general 修改一下Object-c Bridging Header后面的文件路径,设置成刚才创建的文件路径即可,然后在头文件中#import我们需要引用的oc类就可以正常使用了

2.在oc项目中引入swift文件

这个就比较简单了,只需要在要调用swift文件的类里面按照#import "工程名-Swift.h"就可以使用swift的类了

tips:在swift4中,并不是所有的函数都暴露给oc使用(这点跟swift3中默认暴露给oc使用有区别),所以我们对需要暴露的函数前面手动添加@objc 来修饰,这样在oc中就可以调用swift的类了(原因是因为swift是静态语言,在编译的时候所有函数都被编译,编译完成,系统会清空那些没有被调用过的类,以此来减少二进制文件。但是 oc是一门动态语言,方法只有在调用的时候才会知道会不会调用,所以,我们在函数之前添加@objc来保留这个方法)

相关文章

网友评论

      本文标题:Object-C与Swift的混编

      本文链接:https://www.haomeiwen.com/subject/jmhsyhtx.html