iOS開發之OC和unity互動

2022-08-02 21:18:16 字數 1546 閱讀 6940

1、unity呼叫oc

oc類**

//

testunity.h

extern"c

"

//

testunity.m

extern"c

"}

unity的c#檔案**

#if unity_ios

//引入宣告

[dllimport("

__internal")]

static

extern

void testunityfunction (int index, string

str);

#endif

//實現方法

void

start()

這樣就可以直接實現unity呼叫oc。

2、oc**unity:這裡我們使用函式指標介面方法進行**,可以傳參,也可以帶返回引數

c#檔案**

void

start()

#if unity_ios

//宣告乙個oc的註冊**方法函式指標的函式方法,每乙個引數都是函式指標

[dllimport("

__internal")]

public

static

extern

void

eckregisterrecievegamecallback(

intptr showplayer

);

//先宣告方法、delegate修飾標記是**方法

[unmanagedfunctionpointer(callingconvention.cdecl)]

public

delegate

void eckshowplayer(string

userid);

//實現**方法 monopinvokecallback修飾會讓oc通過函式指標**此方法

[aot.monopinvokecallback(typeof

(eckshowplayer))]

static

void eckshowplayerhandler(string

userid)

#endif

oc**

//

testunity.h

//定義乙個名字引數和c#類一樣的方法

typedef void (*eckshowplayerhandler) (const

char *userid);

extern"c

"

//

testunity.m

//生命乙個靜態變數儲存**unity的函式指標

static

eckshowplayerhandler showplayerblock;

extern"c

"}

這樣在oc想要**遊戲的是時候即可呼叫 showplayerblock 就行了。

ios開發之OC基礎 類和物件

本系列的文章主要來自於個人在學習前鋒教育 歐陽堅老師的ios開發教程之oc語言 一定要明確乙個要從事的方向,要不然就會感到迷茫。學習ios開發,並且從事ios開發這個行業,這就是我的選擇。看到我的部落格系列文章,其中大多是關於c qt linux網路程式設計 opengl unity3d等方面。從表...

iOS開發之OC篇(8) NSData

版本 xcode 8.2.1 nsdata為二進位制資料,在檔案操作 如儲存到本地 網路 以及核心圖形影象中使用較廣泛。nsdata的建立 鑑於已經有人總結了,這裡偷懶引用一下 物件方法建立 nsdata data1 nsdata alloc init nsdata data2 nsdata all...

iOS開發之OC篇(9) NSURL

xcode 8.2.1 當然也會搜尋到很多關於nsurl的部落格,包括介紹和用法等等。但如果我們還不放心,不確定他們寫的是否完全準確,怎麼辦?來,開啟xcode新建乙個nsurl工程,我們來看看官方文件怎麼說。通過以上方法,我們得到蘋果的官方文件如此描述 好了好了,了解得差不多了,下面我們來總結一下...