NSString Unicode显示

Kri*_*son 0 cocoa-touch objective-c

我想看看使用forLoop显示多个Unicodes.但是,编译器不喜欢字符串中的"%x"或"%d"来构建Unicode.有工作吗?

for (int k = 0; k < 16; k++){
    lbl.text =[NSString stringWithFormat:@"\u00B%x", k ];// <-- incomplete universal character name \u00B
}
Run Code Online (Sandbox Code Playgroud)

谢谢

Cod*_*odo 5

我不确定你完全理解你想要实现的目标.对于这个答案,我假设你想在B0和BF之间的范围内生成Unicode字符.

您的代码不会因工作\u(而不是因为转义序列%x%d格式说明).请仔细阅读错误消息.代码假定说明%x符将首先替换为数字,并且第二个将计算转义序列.但是,它反过来发生:首先\u,编译器会对序列进行评估,并抛出错误,因为它无效.

更好(和更简单)的方法是以下代码:

for (unichar ch = 0xB0; ch <= 0xBF; ch++){
    lbl.text =[NSString stringWithFormat:@"%C", ch ];
}
Run Code Online (Sandbox Code Playgroud)

此代码直接将Unicode字符放入字符串中.