Objective C unicode字符比较

时间:2009-06-15 19:02:05

标签: objective-c unicode

如何编码unicode比较?我需要完全按照下面的方式进行测试,检查字符串中的特定字母。下面的代码扼杀:警告:指针和整数之间的比较

for (charIndex = 0; charIndex < [myString length]; charIndex++)
{
   unichar testChar = [myString characterAtIndex:charIndex];

     if (testChar == "A")  
       // do something
     if (testChar == "B")
      // do something
     if (testChar == "C")
      // do something
}

2 个答案:

答案 0 :(得分:21)

对于字面文字,请使用单引号:

if (testChar == 'A') NSLog(@"It's an A");

或使用代码点编号表示字符:

if (testChar == 0x1e01) NSLog(@"It's an A with a ring below");

编译器将双引号视为字符串,因此将“A”构建为等同于const char *(它会为您提供有关指针的错误消息)。

答案 1 :(得分:0)

你真的想做什么?进行直接的角色比较是不寻常的。通常-compare:或-isEqual:用于比较两个字符串。或者NSScanner将用于分析字符串的组件。