如何阅读带重音的NSString?

时间:2011-12-13 21:30:33

标签: iphone objective-c nsstring

我需要比较具有外来口音的NSString,例如á,à,ã,ç,ô,é,í等,但是记录字符串会混淆带有重音的字符。

如何传递整个NSString进行比较,如下所示:

if (myString == @"Elevação")

    { 
     do something nice...    
    }

我使用上述代码中的NSLog(@"myString = %@", myString);获取的日志记录为myString = Eleva..o

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

尝试[someString isEqualToString:someOtherString];

答案 1 :(得分:3)

你想:

if ( [myString compare:@"Elevação" options:NSDiacriticInsensitiveSearch] == NSOrderedSame )

答案 2 :(得分:1)

在Objective-C中通过NSString比较两个==指针只有在比较的两个边都是同一个字符串的同一个实例时才会成功。

如果要将表达式求值为true,如果字符串可能是两个具有相同内容的NSString个实例,则需要使用NSString的{​​{1}}方法(如MrMusic建议)。

我不确定如何将任意unicode文本打印到日志中。您可以考虑在接口中临时添加UILabel以进行调试,并将其isEqualToString:属性设置为您的字符串。