Swift调用C++(图解版)

作者: YYSky | 来源:发表于2016-10-14 17:27 被阅读1713次

    当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.png
    4.C++文件中新建一个类,并提供一个方法
    Snip20161014_10.png Snip20161014_12.png
    5.然后在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.png
    7.现在我们看看整体的目录结构
    Snip20161014_7.png
    8.我们在AppDelegate文件中测试 和 结果显示:
    Snip20161014_5.png

    结束语:

    图片应该看得挺清楚的,有问题,欢迎交流.

    相关文章

      网友评论

        本文标题:Swift调用C++(图解版)

        本文链接:https://www.haomeiwen.com/subject/tbtnyttx.html