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

iOS與Unity交互筆記之參數(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ù),有返回值,返回值通過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) 復制mHost字符串,通過Malloc()進行空間分配 
  // 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方法,導致mHost沒有分配內(nèi)存空間而報錯

這里的const char* 會被C#自動轉(zhuǎn)換成string因為在.m文件中使用了內(nèi)存申請,該段內(nèi)存自然是處在堆內(nèi)存中,這樣轉(zhuǎn)成string符合c#的內(nèi)存管理機制,我們不用擔心它的釋放問題

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

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

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

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

// Unity代碼
// 傳數(shù)據(jù)給iOS
[DllImport("__Internal")]
// 給iOS傳string參數(shù),無返回值,返回值通過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é)

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

相關(guān)文章

  • IOS 鍵盤擋住輸入框的問題解決辦法

    IOS 鍵盤擋住輸入框的問題解決辦法

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

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

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

    iOS開源一個簡單的訂餐app UI框架

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

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

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

    2016最新CocoaPods安裝和錯誤解決方案

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

    iOS中UIScrollView嵌套UITableView的實踐教程

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

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

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

    IOS實現(xiàn)碎片化動畫詳解

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

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

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

    IOS 打包靜態(tài)庫詳細介紹

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

最新評論