繁体   English   中英

适用于Unity的iOS插件将NSArray返回到C#

[英]iOS plugin for Unity returning NSArray back to c#

我试图弄清楚如何将NSArray返回到统一的c#。 我什么都没找到

我在.mm上有一个要返回NSArray的函数,但是我不知道我返回哪种类型以及如何从Unity中获取它。

我的NSArray包含NSString。

就像问题的评论部分所述,JSON是实现此目的的最简单方法。 在您的Objective-C类IOS中。 毫米-您需要以下内容:

extern "C" {
    char* GetMyJSONStringIOS () {
        MyClass* myInstance = [[MyClass alloc] init] autorelease];
        NSString* str = [myInstance convertToJSON];
        char* s = cStringCopy([str UTF8String]);
        return s;
    }
    char* cStringCopy(const char* string) {
        char* res = (char*)malloc(strlen(string) + 1);
        strcpy(res, string);
        return res;
    }
}

在您的C#类IOSWrapper.cs中

[DllImport ("__Internal")]
static extern string GetMyJSONStringIOS ();

public static string GetMyJSONString () {
    string json;
#if !UNITY_EDITOR && UNITY_IPHONE
    json = GetMyJSONStringIOS ();
#else
    json = "Dont know";
#endif
    }
    return json;
}

内部使用cStringCopy方法将const char *复制到char *。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM