Как читать NSString с акцентами? - PullRequest
0 голосов
/ 14 декабря 2011

Мне нужно сравнить строку NSSt, которая имеет иностранные акценты, такие как á, à, ã, ç, ô, é, í и т. Д., Но запись строки портит символы, которые имеют акценты.

Как передать всю строку NSString для сравнения, например:

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

    { 
     do something nice...    
    }

Регистрация, которую я получаю, используя NSLog(@"myString = %@", myString); из приведенного выше кода, составляет myString = Eleva..o

Спасибоза вашу помощь.

Ответы [ 3 ]

3 голосов
/ 14 декабря 2011

Вы хотите:

if ( [myString compare:@"Elevação" options:NSDiacriticInsensitiveSearch] == NSOrderedSame )
3 голосов
/ 14 декабря 2011

Попробуйте [someString isEqualToString:someOtherString];

1 голос
/ 14 декабря 2011

Сравнение двух NSString указателей через == в Objective-C будет успешным, только если обе стороны сравнения являются одним и тем же экземпляром одной и той же строки.

Если вы хотите, чтобы выражение оценивалось как true, если строки могут быть двумя разными NSString экземплярами с одинаковым содержимым, вам необходимо использовать метод NSString isEqualToString: (как предложил MrMusic).

Я не уверен, как печатать произвольный текст в кодировке Юникод в журнал.Вы можете временно добавить UILabel в ваш интерфейс для целей отладки и установить его свойство text для вашей строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...