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

前端之家收集整理的这篇文章主要介绍了如何在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文件了!

猜你在找的Swift相关文章