我想做这样的事情:
const UniChar KA = 'か';
但是XCode吐出了“多字符常量”.
我尽量避免使用NSString的characterAtIndex …我需要这个迭代假名,就像你可以迭代字母表(char myCharacter =’A’;)
我正在寻找Objective c doesn’t like my unichars?,但它并没有真正为我解决它.
无论如何,我试图将“tenten”和/或“maru”放在か,た等之上,如か→が,た→だ.可能是一个现成的解决方案,如果有人知道,这也将解决我的问题.
解决方法
源代码通常编码为UTF-8,这意味着您不能在那里使用16位字符文字.您需要使用转义序列:
const UniChar KA = '\u30AB';
或以数字方式指定值:
const unichar KA = 0x30AB;
(注意:我真的不知道这是你给出的示例字符的正确代码.)
我认为你唯一的另一个选择是创建a .strings file,它可以并且应该是UTF-16编码,然后使用NSLocalizedString将字符输入你的程序.