加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 01:58:30 所属栏目:百科 来源:网络整理
导读:Swift也出来一年多的时间了,虽然现在还没有大面积使用,但是其语法的轻便简洁等特性,相信在不久的将来,定会成为OC的替代者,好久没有写东西了,趁着今天有点时间,就来说一下Swift和OC的混用。 一.在OC中使用Swift 1. 首先创建一个工程名字就叫做CHWTest1

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文件了!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读