OC/Swift/C/C++混合使用的编程姿式

一,OC调用C语言方法
1.OC中的.m文件对C语言彻底兼容,能够直接导入C头文件,进行使用
2.定义一个.c的C语言文件,在.m文件中导入,就能够使用。
 
二,OC调用C++语言方法
1.须要将.m文件后面再加一个m,改为.mm文件,.mm文件对C/C++彻底兼容,导入C/C++头文件就能够使用
2.定义一个.cpp的C++文件,在.mm文件中导入就能够使用了。
 
 
三,C++调用OC语言方法
1.在定义的OC类中,若想让C++文件成功进入OC文件,就须要将OC类的.h文件中涉及到OC中的方法所有删掉。而后在.h文件中定义C/C++语言的方法名。在.mm文件中能够用OC/C/C++语言来实现。
 
 
四,swift调用C语言方法
swift语言没法直接使用C语言方法,须要经过桥接头文件使用。
1.在swift工程下建立一个C文件同时生成bridging-header桥接头文件。
2.在C语言.h文件中声明方法名,在.c文件中实现方法,在桥接文件中导入C语言文件#include “a.h”
3.在swift文件中使用
 
五,swift调用C++语言方法
1.在swift工程下建立一个OC文件同时生成bridging-header桥接头文件。
2.在OC语言.h文件中声明方法名,在.mm文件中实现方法,在桥接文件中导入C语言文件#include “a.h”
3.在swift文件中使用
 
 
六,bridging-header桥接头文件说明
bridging-header桥接头文件的做用是让swift语言执行oc语言的方法的。
因此里面是oc类的引入#include “oc.h”
同时系统也会建立一个不可见的桥接文件供oc调用swift语言的方法。
这个桥接文件是:工程名-Swift.h。
能够经过在oc类中导入这个头文件,使用swift类中的方法(如今不导入这个文件也能够使用,估计是Xcode作了优化)。
相关文章
相关标签/搜索