如何在OC中使用Swift如何在Swift中使用OC

       Swift也出来一年多的时间了,虽然现在还没有大面积使用,但是其语法的轻便简洁等特性,相信在不久的将来,定会成为OC的替代者,好久没有写东西了,趁着今天有点时间,就来说一下Swift和OC的混用。

一.在OC中使用Swift

1.首先创建一个工程名字就叫做CHWTest1

2.在工程的Build Setting中把Defines Module改为YES,如图


3.把Product Name设为工程的名字,如图


4.在你的OC文件中导入ProjectName-Swift.h(这个 ProjectName-Swift.h是系统自动创建的,不要手动去创建,ProjectName是你的工程得名字,这里就是CHWTest1


这时候编译会报错,因为并没有Swift文件

5.创建Swift文件


这里创建一个Swift的类,语言选择为Swift,然后会提示你,是不是创建一个OC的桥接头文件,这里选择YES,创建完之后,你的工程里是这样的

是的,你会发现你的工程中多了个 PrductName-Bridging-Header.h的一个文件,这个的作用就是OC和Swift的桥接,里面有这样一句话

 Use this file to import your target's public headers that you would like to expose to Swift.意思就是,在这里面你个以导入类,以供你的Swift使用,这里面我的例子是OC-Swift-OC三个类之间的push,具体代码如下




然后push的效果就出来了,如图


OK,到这里,OC中使用Swift就已经结束,不难吧!

二,如何在Swift中使用OC

Swift中使用OC文件和上面差不多,只是需要几步

1.创建一个Swift工程,这里面就叫做CHWTest2

2.Swift代码引用OC,需依靠 Objective-C bridging header 将相关文件暴露给Swift,创建 Objective-C bridging header 有两种方法:

(1)当你在Swift项目中尝试创建OC文件时,系统会自动帮你创建 Objective-C bridging header,如下




此时除了 .h.m 文件之外,会额外多出一个叫做 项目工程名-Bridging-Header.h 的文件,这个文件中导入的类是可以暴露给Swift看到的。你要做的,只是#import XXXX.


这个步骤和上面是差不多的,另外一种方式就是

(2)自己创建 Objective-C-bridging-header这个桥接文件

File > New > File > (iOS or OS X) > Source > Header File切记,名字 一定要项目工程名-Bridging-Header.然后还有一步,在项目的 Build Settings 选项里,要确保Swift Compiler 选项里有这个 Bridging Header 文件的设置,路径必须指向文件本身,而不是目录!


这里,Swift中就可以使用OC文件了!



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值