当swift项目需要调用C++文件时,不要迷茫,看我就可以了...
1.首先新建一个swift项目.--ps:这里我就不上图了.
2.新建一个OC文件,为什么要这样呢?容我解释一下.
"Using Swift with Cocoa and Objective-C" :
You cannot import C++ code directly into Swift. Instead, create an Objective-C or C wrapper for C++ code.
文档里是说,swift中不能直接调用C++文件.而要通过OC文件这个中间层;也就是说:OC文件直接调用C++文件,swift调用OC文件.所以OC文件需要提供出API,供swift调用.
我们第一次在swift项目中,新建OC文件时,系统会自动提示新建桥接文件.
Snip20161014_2.png需要注意点: OC的头文件中不要导入C++头文件,OC的.m文件如果需要用到C++文件的话,需要把OC的.m文件的后缀修改成: .mm
那个图上文件名显示挤在一起的原因是 我装了Xcode7.3.1和Xcode8,造成的.有什么大神支招能解决的??
3.新建C++文件
Snip20161014_3.png4.C++文件中新建一个类,并提供一个方法
Snip20161014_10.png Snip20161014_12.png5.然后在OC文件.h中提供一个接口,而.m文件中引入C++文件,并调用C++的方法
![Snip20161014_8.png](https://img.haomeiwen.com/i2276378/af72becb2c4aa10f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)6.最后在桥接文件中导入OC的头文件
Snip20161014_9.png7.现在我们看看整体的目录结构
Snip20161014_7.png8.我们在AppDelegate文件中测试 和 结果显示:
Snip20161014_5.png结束语:
图片应该看得挺清楚的,有问题,欢迎交流.
网友评论