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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看181 回复回复3 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 181|回复: 3
收起左侧

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

[复制链接]
yadan 发表于 2016-7-5 21:53:21 | 显示全部楼层 |阅读模式
快来登录
获取优质的苹果资讯内容
收藏热门的iOS等技术干货
拷贝下载Swift Demo源代码
订阅梳理好了的知识点专辑

随着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开发者,欢迎加我为好友~~




作者:鹏成之家

都看到这里了,就把这篇资料推荐给您的好朋友吧,让他们也感受一下。

回帖是一种美德,也是对楼主发帖的尊重和支持。您的赞赏是我前进的方向。

*声明:敏捷大拇指是全球最大的Swift开发者社区、苹果粉丝家园、智能移动门户,所载内容仅限于传递更多最新信息,并不意味赞同其观点或证实其描述;内容仅供参考,并非绝对正确的建议。本站不对上述信息的真实性、合法性、完整性做出保证;转载请注明来源并加上本站链接,敏捷大拇指将保留所有法律权益。如有疑问或建议,邮件至marketing@swifthumb.com

*联系:微信公众平台:“swifthumb” / 腾讯微博:@swifthumb / 新浪微博:@swifthumb / 官方QQ一群:343549891(满) / 官方QQ二群:245285613 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

评分