[英]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.