如何在Swift的代码中使用OC的代码, 在OC的代码中使用Swift的代码?
随着苹果公司对Swift的推广力度不断加大,市场上很多的项目都在逐步的转向使用Swift开发,但由于各种原因,公司不可能一时间直接冲OC转向Swift,因此中间就会有一个过渡期,需要我们程序员进行OC和Swift两种语言之间进行混合编程.下面我就给大家介绍一下,混编之前我们应该怎么配置.
一、OC的代码中使用Swift代码.
-
第一步: 在工程的Build Settings 中把Defines module 改为YES.
<img src = "http://ww3.sinaimg.cn/large/006eNNDcgw1f02yqtoiulj31cq0g6wii.jpg" width="60%" height="60%">
-
第二步:确保Product module name 设置为项目工程的名字(在Xcode7中,默认就是工程的名字)
第三步:在OC文件中导入 ”项目名-Swift.h” 例如:#import “test-Swift.h” ,另外注意这个.h文件是系统自己创建的,并不需要手动创建,
注意:在OC中使用.Swift文件时并不需要导入需要使用的.Swift文件本身,只要确保导入了第三步中的文件,所有的Swift文件就全部可以直接使用。
二、Swift的代码中使用OC代码.
-
当你在Swift代码中引用OC,需要依赖一个桥接文件,作用是将OC的文件暴露给Swift,然而创建这个桥接文件有两种方式:
-
当你在Swift项目中创建OC文件时,系统提示你创建Objective-C bridging header.h文件点击YES就OK了,
<img src = "http://ww1.sinaimg.cn/large/006eNNDcgw1f02zdld9bsj31ak0i8n3j.jpg" width="60%" height="60%">
建类完成之后,项目中会多出一个文件 工程名-Bridging-Header.h 如下图:
<img src = "http://ww1.sinaimg.cn/large/006eNNDcgw1f02zh35y7uj30qa08cab8.jpg" width="60%" heigth="60%">
自己手动创建桥接文件项目名-Bridging-Header.h
注意:自己创建这个桥接.h文件的时候,一定要严格按照“项目名-Bridging- Header.h”的格式创建文件。
-