unity调用OC的方法我们需要用到中间语言c作为通信。整个过程是:c#调用c,c调用oc。
首先我们在建一个unity的工程,新建一个叫sdk的c#脚本,敲如下代码:(注:
一定要引入using System.Runtime.InteropServices;
DllImport 属性其实就是调用dll的意思,
private static extern void _BtnTest ();表示定义一个外部方法,在这里可以认为就是定义个外部的c方法。
下面我们创建一个按钮来调用这个c方法,如图
unity的步骤到这里就完成了,下面我们去做xcode部分,首先创建一个xcode工程,在
ViewController.m文件中定义一个全局静态变量指针用于保存当前类的地址,如图:
我们再写一个OC得方法一会要调用,如图:
现在最关键的一步就在于c函数怎么写,如图:(注:
_BtnTest方法就是我们刚刚在unity中声明的外部c方法,
MyView = [[ViewControlleralloc]init];的意思等同于MyView=self;
最终我们可以通过MyView来调用我们上面写好的oc方法
)
完美!