我试图解决我的问题一个星期,唯一的希望就是给您!
我通过uitextview从用户那里接收到一个字符串,并使用下一个代码将其转换:

unsigned char* pAr = [myuitextview.text UTF8string];


然后,经过一些工作,我想使用以下代码在myuitextview中显示生成的pAr:

Myuitextview.text = [NSString stringWithUTF8string:pAr];


结果,我看到空白的myuitextview。
经过调查,我发现该stringWithUtf8string返回nil,但我在utf8中收到了它,并使用utf8重新创建了它。
然后我发现那个UTF8string
还返回nil。
我还发现,当我使用未签名的char *而不是utf8string方法返回的const char *时,会发生这种情况。当我收到const char *时,它返回一个c字符串,但是如果我尝试unsigned char *,则返回nil。

stringwithutf8string之后为null的原因是什么?据我了解,Unsigned char *和const char *是安全的吗?

最佳答案

您不能那么容易地将未签名的char转移到NSString

试试这个

NSString* s = [[NSString alloc] initWithBytes:pAr length:sizeof(pAr) encoding:NSASCIIStringEncoding];

10-05 21:00
查看更多