Objective-C和Swift混编

本文介绍了如何在iOS项目中实现Swift与Objective-C的混合编程。包括Swift调用Objective-C的方法,通过配置Objective-C桥接头文件实现;以及Objective-C调用Swift的方式,通过设置ProductModuleName并生成Swift头文件来完成。

    虽然swift的版本飙的很快,但在iOS端项目中,还是会需要C/C++的库来帮助开发,这时会用Objective-C来包一层。这里记录一下混编的过程.

swift调用oc

    将Objective-C导入Swift要在同一个app target中导入Objective-C文件供Swift使用,你需要依赖Objective-C的桥接头文件(Objective-C bridging header)来暴露给Swift。当你添加Swift文件到现有的Objective-C应用时,Xcode会自动创建这些头文件,反之亦然。

    在Build Settings中,确保Objective-C桥接头文件的build setting是基于 Swift编译器,即Code Generation含有头文件的路径。这个路径必须是头文件自身的路径,而不是它所在的目录。然后在桥接头文件中,加入oc的头文件,在swift中即可引用oc的类.

    对于C/C++的文件,处理方式和Objective-C一样.

oc调用swift

    确保将框架target的Build Settings > Packaging > Defines Module设置为Yes;在修改build setting中的Product Module Name即可。之后的项目会自动生成swift的头文件,头文件名称为Product Module Name-Swift.h所有的swift都会在这个头文件里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值