Objective-C & Swift混编

《Objective-C & Swift混编》 图片来自网页

好久没有更新文章了😂,近日公司项目刚好也遇上了OC & Swift 混编的问题,早在Apple developer Document发布了关于两者混编的消息时,就已按耐不住内心的激动进行了尝试。但由于公司那会并未接纳Swift这门新生语言,一贯坚持OC战略,现如今Swift4了!!!😓 好啦,不多说了,今天的主题是基于OC项目,配置Swift的协同开发,详见以下步骤:

一、生成ProjectName-Bridging-Header.h桥接文件,该文件涉及到Swift使用OC类库,因为是基于OC开发的,所以在Swift文件编译时,可能找不到基类库。

1.如果从未创建过XX.swift类,那么可以在项目中随意创建一个Swift类型的文件,保存时,XCode将会自动提示,如图1.1所示

《Objective-C & Swift混编》 图1.1

2.手动创建,可以手动创建该头文件,然后设置Build Settings中的Objective-C Bridging Header选项,如图1.2所示

《Objective-C & Swift混编》 图1.2

二、在ProjectName-Bridging-Header.h桥接文件中导入需要用到的OC库及其相关的OC头文件,举个栗子,其实UIKit.h如有使用到,也是需要桥接导入的,毕竟是基于OC的项目,或许也有可配置项,如图1.3所示

《Objective-C & Swift混编》 图1.3

三、选中TARGETS下的该项目,设置Build Settings 中的Defines Module为YES,同时留意Product Module Name的参数,这将用于”ProductModuleName-Swift.h”,该文件Xcode将会在Swift文件编译时,自动创建,并且该文件未隐藏文件,如图1.4所示:

《Objective-C & Swift混编》 图1.4

四、在Bulid Phases选项中查看Compile Sources项是否有添加或引入对应的Swift文件,如果没有,则点击最下方的添加按钮,进行加入,如图1.5所示:

《Objective-C & Swift混编》 图1.5

五、在所使用的类文件中进行导入,如 #import “ProductModuleName-Swift.h”,便可使用Swift类及所有…Congratulation!开始享受这奇妙之旅吧 😊

    原文作者:luowanglin
    原文地址: https://www.jianshu.com/p/a3ee9189af11
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞