在代码中定义unichar常量

Jon*_*nny 7 objective-c

我想做这样的事情:

const UniChar KA = '?';
Run Code Online (Sandbox Code Playgroud)

但是XCode吐出了"多字符常量".

我尽量避免使用NSString的+ characterAtIndex ...我需要这个迭代假名,就像你可以迭代字母表(char myCharacter = 'A';)

我看着Objective c不喜欢我的unichars?但它并没有真正为我解决它.

无论如何,我试图将"tenten"和/或"maru"放在か,た等之上,如か→が,た→だ.可能是一个现成的解决方案,如果有人知道,这也将解决我的问题.

Jos*_*ell 6

源代码通常编码为UTF-8,这意味着您不能在那里使用16位字符文字.您需要使用转义序列:

const UniChar KA = '\u30AB';
Run Code Online (Sandbox Code Playgroud)

或以数字方式指定值:

const unichar KA = 0x30AB;
Run Code Online (Sandbox Code Playgroud)

(注意:我真的不知道这是否是您给出的示例字符的正确代码.)

我认为你唯一的另一个选择是创建一个.strings文件,它可以并且应该是UTF-16编码,然后使用NSLocalizedString将字符放入你的程序中.