欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS與Unity交互筆記之參數(shù)傳遞

 更新時(shí)間:2019年04月12日 10:09:31   作者:Gsl''s Library  
這篇文章主要給大家介紹了關(guān)于iOS與Unity交互筆記之參數(shù)傳遞的相關(guān)資料,需要的朋友可以參考下

1. 調(diào)用方法一

Unity調(diào)方法傳參,有返回值

// Unity代碼
[DllImport("__Internal")]
// 給iOS傳string參數(shù),有返回值,返回值通過(guò)iOS的return方法返回給Unity
private static extern string getIPv6(string mHost, string mPort)
// iOS代碼
extern "C" const char * getIPv6(const char *mHost, const char *mPort)
{
  // strdup(const char *__s1) 復(fù)制mHost字符串,通過(guò)Malloc()進(jìn)行空間分配 
  // return strdup(mHost);
  return makeStringCopy(mHost);
}

char* makeStringCopy(const char* string)
{
  if (NULL == string) {
    return NULL;
  }
  char* res = (char*)malloc(strlen(string)+1);
  strcpy(res, string);
  return res;
}

如果Unity傳參為string類型,不執(zhí)行strdup()方法而直接使用return方法,導(dǎo)致mHost沒(méi)有分配內(nèi)存空間而報(bào)錯(cuò)

這里的const char* 會(huì)被C#自動(dòng)轉(zhuǎn)換成string因?yàn)樵?m文件中使用了內(nèi)存申請(qǐng),該段內(nèi)存自然是處在堆內(nèi)存中,這樣轉(zhuǎn)成string符合c#的內(nèi)存管理機(jī)制,我們不用擔(dān)心它的釋放問(wèn)題

如果Unity傳參為int等基礎(chǔ)數(shù)據(jù)類型,可以直接使用return方法

調(diào)用DllImport(“”)方法,需要引入命名空間:using System.Runtime.InteropServices

2. 調(diào)用方法二

Unity調(diào)方法傳參,無(wú)返回值

// Unity代碼
// 傳數(shù)據(jù)給iOS
[DllImport("__Internal")]
// 給iOS傳string參數(shù),無(wú)返回值,返回值通過(guò)iOS的UnitySendMessage方法返回給Unity
private static extern void setDate(string date);

// 接收iOS的數(shù)據(jù)
public void GetDate(string date)
{
}
// iOS代碼
extern "C" void setDate(const char *date)
{
  /**
  發(fā)送數(shù)據(jù)給Unity
  @param obj 模型名
  @param method Unity接收iOS數(shù)據(jù)的方法名
  @param msg 傳給Unity的數(shù)據(jù)
  UnitySendMessage(const char* obj, const char* method, const char* msg);
  */
  UnitySendMessage("PublicGameObject", "GetDate", date);
}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • IOS 鍵盤擋住輸入框的問(wèn)題解決辦法

    IOS 鍵盤擋住輸入框的問(wèn)題解決辦法

    這篇文章主要介紹了IOS 鍵盤擋住輸入框的問(wèn)題解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Xcode 8打印log日志的問(wèn)題小結(jié)及解決方法

    Xcode 8打印log日志的問(wèn)題小結(jié)及解決方法

    這篇文章主要介紹了Xcode 8打印log日志的問(wèn)題小結(jié)及解決方法的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • iOS開(kāi)源一個(gè)簡(jiǎn)單的訂餐app UI框架

    iOS開(kāi)源一個(gè)簡(jiǎn)單的訂餐app UI框架

    這篇文章主要介紹了iOS開(kāi)源一個(gè)簡(jiǎn)單的訂餐app UI框架,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 詳解iOS-按鈕單選與多選邏輯處理

    詳解iOS-按鈕單選與多選邏輯處理

    本篇文章主要介紹了詳解iOS-按鈕單選與多選邏輯處理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • 2016最新CocoaPods安裝和錯(cuò)誤解決方案

    2016最新CocoaPods安裝和錯(cuò)誤解決方案

    CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開(kāi)源庫(kù)的工具,開(kāi)發(fā)iOS項(xiàng)目不可避免地要使用第三方開(kāi)源庫(kù)。接下來(lái)通過(guò)本文給大家介紹2016最新CocoaPods安裝和錯(cuò)誤解決方案,需要的的朋友參考下吧
    2016-11-11
  • iOS中UIScrollView嵌套UITableView的實(shí)踐教程

    iOS中UIScrollView嵌套UITableView的實(shí)踐教程

    在UIScrollView嵌套UITableView的問(wèn)題相信大家都遇到過(guò),小編最近在工作中就遇到了這個(gè)問(wèn)題,所以這篇文章主要介紹了iOS中UIScrollView嵌套UITableView的相關(guān)資料,文中介紹的方法是通過(guò)自己的實(shí)踐所得來(lái)的,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-05-05
  • 詳解iOS平臺(tái)調(diào)用后臺(tái)接口的正確姿勢(shì)

    詳解iOS平臺(tái)調(diào)用后臺(tái)接口的正確姿勢(shì)

    這篇文章主要介紹了詳解iOS平臺(tái)調(diào)用后臺(tái)接口的正確姿勢(shì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • IOS實(shí)現(xiàn)碎片化動(dòng)畫詳解

    IOS實(shí)現(xiàn)碎片化動(dòng)畫詳解

    在網(wǎng)上看到一個(gè)驚艷的碎片化動(dòng)畫,于是實(shí)現(xiàn)之后拿來(lái)講解一下,有需要的小伙伴們可以參考學(xué)習(xí)哦。
    2016-08-08
  • iOS開(kāi)發(fā)之路--微博新特性頁(yè)面

    iOS開(kāi)發(fā)之路--微博新特性頁(yè)面

    本文是IOS開(kāi)發(fā)之路系列的第三篇,主要是分享了微博新特性頁(yè)面的制作源碼,希望對(duì)大家有所幫助
    2014-08-08
  • IOS 打包靜態(tài)庫(kù)詳細(xì)介紹

    IOS 打包靜態(tài)庫(kù)詳細(xì)介紹

    這篇文章主要介紹了IOS 打包靜態(tài)庫(kù)詳細(xì)介紹的相關(guān)資料,這里對(duì)打包靜態(tài)庫(kù)做了詳細(xì)的說(shuō)明,并進(jìn)行了總結(jié),需要的朋友可以參考下
    2016-11-11

最新評(píng)論