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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看140 回复回复3 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 140|回复: 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 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

嗯,不错!期待更多好内容,支持一把:
支持敏捷大拇指,用支付宝支付10.24元 支持敏捷大拇指,用微信支付10.24元

评分

参与人数 1金钱 +10 收起 理由
Anewczs + 10 推送上首页了~分享到朋友圈微博QQ空间吧~.

查看全部评分

Caesar 发表于 2016-7-6 02:56:12 | 显示全部楼层
谢谢,命名自由了~
1起来 发表于 2016-7-6 17:52:06 | 显示全部楼层
再支持一下加入Java代码吧~~
swifter 发表于 2016-7-7 05:58:53 | 显示全部楼层
桥接头文件有点多余是不?应该更智能点才好~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

做任务,领红包。
我要发帖

分享扩散

都看到这里了,就把这资料推荐给您的好朋友吧,让他们也感受一下。
您的每一位朋友访问此永久链接后,您都将获得相应的金钱积分奖励
热门推荐

合作伙伴

Swift小苹果

  • 北京治世天下科技有限公司
  • ©2014-2016 敏捷大拇指
  • 京ICP备14029482号
  • Powered by Discuz! X3.1 Licensed
  • swifthumb Wechat Code
  •   
快速回复 返回顶部 返回列表