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

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

注意:粉色的标记。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • 前言: Swift语言出来后,可能新的项目直接使用Swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好...
    疯狂的电脑阅读 2,353评论 0 9
  • 文/康吉德 小区不大,也不繁华,但很美,尤其是傍晚时分,让我一阵阵感动,每次下班经过都会刻意驻足观望。 自人民公园...
    康吉德阅读 622评论 0 1
  • 那年夏天,看见的天空,很蔚蓝;那年夏天,吹过的风,很凉爽;那年夏天,遇见的人,很温暖;那年夏天,爱上的人,...
    不及你二分之一阅读 540评论 0 3