花落√莫相思swift

15-Swift与Object-C之间的相互调用

2017-05-23  本文已影响40人  NetWork小贱

1、为什么Swift要调用OC,或则OC要调用Swift?

在我们开发的过程中有使用Swift开发的小伙伴或者Object-C开发的小伙伴。其中,例如使用Swift开发的小伙伴在开发中要写一个查找字符串中含有的文字的个数,正好现在小伙子身边正好有一个OC语言开发的查找字符串中汉字的一个功能。如果,开发者不使用OC 开发的代码,那就要自己在写Swift这样的代码了。如果使用OC 开发的代码,正要就会减少开发时间。

2、Object-C调用Swift

1>说明

Object-C调用Swift是在Object-C的类中,使用Swift的类,并用其方法实现某些功能。

2>使用步骤

在Object-C 调用Swift 的时候,要在Object-C的类中引入一个头文件。该头文件的格式是:

B79B90EC-DE92-4B56-A4B0-91B859537279.png

按照上述的规则,我们的demo,要引入的头文件是

#import "Swift_OC-Swift.h"
3:Object-C调用Swift,如下图
D848DBE9-3BA7-477D-8C71-5DAED8D33A68.png

注意:粉红色标记的位置。

3、Swift 调用Object-C

1>说明

这种情况是在原始开发的Object-C项目中,引用了Swift 一些类。在Swift 类中如何使用Object-C 中的类。这就是Swift调用Object-C。

2>使用步骤
1:首先在Object-C项目中创建一个Swift类

注意创建Swift的时候,如果首次创建Xcode会弹出如下图的提示

A1BDD8D1-6AB9-40C0-8105-156C87C602D5.png

这个提示是让你选择是否创建一个桥接的头文件(Create Bridging Header)。请您选择默认的创建桥接头文件,但是也可以不创建,后面我们在自己添加桥接头文件。

2:创建完后的桥接头文件样式如下
A1879C2A-8558-4705-B5B8-41688C27E43E.jpeg

注意:红色标记的就是我们Xcode默认创建的桥接头文件。如果是自己创建请按照这个格式。

3:创建一个Person 的Object-C编写的类。如下图所示:
846C698B-118D-4C1F-849C-B8E2B9EB23A3.png
4:要在SwiftCar.swift 中调用Person,首先要在桥接头文件中引入要调用的类的头文件。如下图:
9101B913-9842-42D9-8A40-BB79B7ADBFC1.png

注意:图上红色和绿色标记的部位。

5:我们就可以在SwiftCar.swift中调用Person,并使用其方法。如下图:
82155D4A-3666-4AA9-B836-98DF25C0070E.png

注意:粉色空中的代码。

4、相互调用的结果输出

69FF452E-DF15-4108-8630-FBA5D6CFD1CF.png

注意:粉色的标记。

上一篇下一篇

猜你喜欢

热点阅读