更多精彩资讯 实用技巧 【点我】
swift 语言是苹果公司在2014年的WWDC大会上发布的全新的编程语言。Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题。Swift语言采用安全编程模式,且引入了多种新功能,使得编程工作更加简便,灵活!今天小编带大家带来oc和swift混编的知识点
新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,哪就使用混编。这个在iOS8中是允许的。
先中简单的入手,先研究在同一个工程目录下混合使用的情况。
为了演示。先准备两个类
第一种:在swift的类里面调用oc的类
这个需要一个桥接文件 ,(感觉类似于oc里面的头文件)
首先 新建一个工程 开发语言选择swift
image
然后创建一个OC的类
image在创建的时候会提示出现创建一个桥接文件
image此时 Swift工程里面就多了个OC的类和一个桥接文件
image同样的,当你知道这个swift搜索头文件的关系后,就不需要再理会这个-Bridging-Header.h的文件了。完全可以手工建一个并取自己喜欢的名字。如:
image
然后在桥接文件里面导入OC累的头文件名称
image这样 就可以在Swift的文件里面直接使用OC的类了,但是Swift得类里面的语法还是Swift
image自此 就实现了Swift的类调用OC的类了!
第二种OC类调用Swift
oc调用swift的设置方法如下:
1、确保将框架 target 的 Build Settings > Packaging > Defines Module 设置为 Yes
2、将 build setting 中的 Product Module Name 修改为工程名。
之后的项目会自动生成swift的头文件头文件名称为Product Module Name-Swift.h (Product Module Name为工程名)
所有的swift都会在这个头文件里
接下来直接调用方法就可以了,不再需要引入相关头文件了
那么怎么在OC的类调用Swift的文件呢?
我们都知道 在OC里面 引用别的文件内容时 需要导入头文件,但是swift的类并没有头文件,那怎么办呢?其实,每个swift的类都有头文件 我们可以在这儿查看到.
image然后我们只需要在OC的类的.m文件里面导入 "工程名"加上 -swift.h (固定格式) 就可以在OC的类里面是有Swift的累了 而且还是使用OC语法!
image
网友评论