1.Swift项目调用OC文件
关键点:创建桥接文件
步骤:
1.在项目中首次创建OC文件时,系统会提示是否创建桥接文件
点击 Create Bridging Header 系统会自动创建桥接文件
系统创建的桥接文件的名称为 "项目名称-Bridging-Header"
2.如果第一次提示你没创建或者删除了桥接文件后想再创建就只能手动创建桥接文件了
手动创建桥接文件:Targets -> Build Settings -> 搜索框输入swift,
Objective-C Bridging Header中的值设置为 项目名称/项目名称-Brigding-Header.h (写相对路径,不然编译时会报错),如图
image.png
再创建名为"项目名称-Bridging-Header"的Header File文件
在桥接文件中添加OC头文件 #import "头文件名.h"
例如:#import "Student.h"
,即可在Swift项目中调用Student
中OC代码了
2.OC项目调用Swift文件
与Swift项目调用OC文件一样需要创建桥接文件,且方法相同
只是引用Swift文件时不同
在需要调用Swift文件的类中引用如图头文件
image.png
上图中10那个文件,项目中是看不到的,这个文件是生成桥接头文件自动生成的,名字是 项目名-Swift.h(不要自己去手动创建),没有代码提示,需要我们手动敲
11对应的则是我们创建的桥接文件,有代码提示
导入Swift第三方库如socket.io-client-swift
,chart
在桥接文件中添加@import SocketIO;@import Chart;
3.Swift/OC项目调用C文件
步骤:
1.创建桥接文件,同上
2.创建与C文件同名h文件,在h文件中把C文件中方法进行声明,在c文件中导入h文件
3.在桥接文件中引入h文件(OC可选择在调用C文件代码的类中引入),即可在Swift/OC中调用C文件中方法
具体如图所示:
c文件.png
h文件.png
swift文件.png
oc文件.png
打印结果.png
PS: 官方的Swift调用OC、C的API介绍:Using Swift with Cocoa and Objective-C
网友评论