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.png4:要在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注意:粉色的标记。