随着WWDC2016的召开,Swift这门语言终于迎来了又一次更新,许多新特性的加入和编译器的优化让无数开发者们激动不已,对于Swifthumb上正在从OC转入Swift开发路上的开发者来说,项目中有时会不可避免的使用到OC代码。

记得刚从OC转入Swift项目时,大把的搜过关于如何在Swift项目中导入并使用OC代码,大致过程是这样的:

1、Swift项目中创建一个新的OC类,记得在语言项选择Objective-C而不是Swift:

WWDC2016之后最新的Swift项目加入OC代码的处理方法 1

WWDC2016之后最新的Swift项目加入OC代码的处理方法 - 敏捷大拇指 - WWDC2016之后最新的Swift项目加入OC代码的处理方法 1


2、正常情况下如果是第一次创建OC的类,Xcode会提醒你是否需要创建一个Bridge文件:

WWDC2016之后最新的Swift项目加入OC代码的处理方法 2

WWDC2016之后最新的Swift项目加入OC代码的处理方法 - 敏捷大拇指 - WWDC2016之后最新的Swift项目加入OC代码的处理方法 2


在完成这两个步骤后一个桥接头文件已经创建成功,里面大致是这样的:

WWDC2016之后最新的Swift项目加入OC代码的处理方法 3

WWDC2016之后最新的Swift项目加入OC代码的处理方法 - 敏捷大拇指 - WWDC2016之后最新的Swift项目加入OC代码的处理方法 3


之后我们就可以把所有创建的OC类都在这里面导入,就可以在Swift项目中使用了。最后提醒最重要的一点:设置头文件路径!

具体就是点击你的工程名,找到Build Settings,在搜索栏里输入“bridging”关键词就会来到头文件路径的设置:

WWDC2016之后最新的Swift项目加入OC代码的处理方法 4

WWDC2016之后最新的Swift项目加入OC代码的处理方法 - 敏捷大拇指 - WWDC2016之后最新的Swift项目加入OC代码的处理方法 4


随后双击打开,拖动你的头文件到设置路径里面,将索引路径改为通用路径即可完成编译:

WWDC2016之后最新的Swift项目加入OC代码的处理方法 5

WWDC2016之后最新的Swift项目加入OC代码的处理方法 - 敏捷大拇指 - WWDC2016之后最新的Swift项目加入OC代码的处理方法 5





重磅

在Swift更新到2.2之后,在Swift项目中新建导入OC类时生成的头文件已经没有了以前的宏,是完完全全的一个空文件:

WWDC2016之后最新的Swift项目加入OC代码的处理方法 6

WWDC2016之后最新的Swift项目加入OC代码的处理方法 - 敏捷大拇指 - WWDC2016之后最新的Swift项目加入OC代码的处理方法 6


这时我们只需把需要导入的OC类直接导入即可,不需要再写宏,这一点跟以前有所不同:

WWDC2016之后最新的Swift项目加入OC代码的处理方法 7

WWDC2016之后最新的Swift项目加入OC代码的处理方法 - 敏捷大拇指 - WWDC2016之后最新的Swift项目加入OC代码的处理方法 7


更重要的一点,如果你是通过cocoapods导入的第三方OC类库在Swift项目中,现在已经不需要创建桥接头文件,直接在类里面通过“import xxxx”即可使用导入的第三方库。




小技巧:

如果你在被提示是否创建桥接头文件时选择了不创建,也没有关系。桥接头文件并非像许多博客说的那样必须以"项目名-Bridge.h"这样的格式来命名,直接用你喜欢的名字创建一个新的Header即可,其他修改步骤完全相同,示例中我创建的项目就是简单的以"Bridge.h"来命名的,没有任何影响。

希望能帮到敏捷大拇指上的各位Swift开发者,欢迎加我为好友~~




作者:鹏成之家