您的位置:首页 > 移动开发 > Swift

swift之OC与Swift混编

2017-08-13 16:46 190 查看
1、在Swift工程添加OC代码

在swift语言里,同一个项目内的文件基本会放在同一个命名空间里,所以没有.h文件。如果想在swift工程中添加OC代码,需要解决怎么引用OC代码的头文件问题。具体的解决办法就是:新建一个Header File文件里。



如下图所示,在新建的.h文件里面,添加OC代码的头文件



然后需要在项目部署里面配置该引用文件



这样就可以在swift文件里面按照swift语法来调用OC代码了



2、在OC工程中加入Swift代码

oc里面都有头文件,但是swift没有头文件,因此我们需要产生一个头文件。当你在OC工程里面新建swift文件话,工程会给你自动创建一个比较特殊的头文件。如下图所示,Xcode会根据module Name,生成一个名字为moduleName-Swift.h的文件。



在需要调swift代码的.m文件里面,加入“#import Modulename-Swift.h”,如下图所示。你在整个工程中是找不到这个文件的,但可以使用CMD+鼠标点击可看到这个头文件中的内容。



使用CMD+鼠标点击看到这个头文件中的内容,具体内容如下:



特别要注意的是:用swift写的类,如果不继承自NSObject或者NSObject的派生类,哪么编译后将不会生成对应的转换类,从而使得OC中找不到相应的声明。具体解释可以参考:http://blog.csdn.net/zhzmaren/article/details/53283835。具体写法如下所示:



总之,工程中如果Swift要使用OC,则需要把使用OC类的头文件,全写在SayOO1-Bridging-Header.h文件里面。同样,如果OC中使用Swift类,需要在OC代码里面导入SayOO1-swift.h。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: