Objective-C & Swift混编

in #steempress5 years ago
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!开始享受这奇妙之旅吧 😊
原文始发于:Objective-C & Swift混编


Posted from my blog with SteemPress : http://cnstm.org/blog/2017/09/25/39c0450e4b/

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.032
BTC 60913.71
ETH 2919.21
USDT 1.00
SBD 3.71