io uso questo codice nella mia app. appena trovato non è corretto quando si confronta coreanoNSString isEqualToString: non funziona
for (NSString *lang in array){
NSString *currentLang = [[MLLanguage sharedInstance] lang];
BOOL flag = [lang isEqualToString:currentLang];
NSLog(@"\n'%@' isEqual to '%@', %d\n%@\n%@", lang, currentLang, flag?1:0, [lang dataUsingEncoding:NSUTF8StringEncoding], [currentLang dataUsingEncoding:NSUTF8StringEncoding]);
risultato sbagliato: i due parola coreana paragonata come diversi
2012-06-19 21:16:52.681 Motilink[10188:11903] -[MLSettingLanguageViewController loadDownloadedData][Line 50]
'English' isEqual to '한국어', 0
<456e676c 697368>
<ed959cea b5adec96 b4>
2012-06-19 21:16:52.682 Motilink[10188:11903] -[MLSettingLanguageViewController loadDownloadedData][Line 50]
'한국어' isEqual to '한국어', 0
<e18492e1 85a1e186 abe18480 e185aee1 86a8e184 8be185a5>
<ed959cea b5adec96 b4>
2012-06-19 21:16:52.682 Motilink[10188:11903] -[MLSettingLanguageViewController loadDownloadedData][Line 50]
'中国语' isEqual to '한국어', 0
<e4b8ade5 9bbde8af ad>
<ed959cea b5adec96 b4>
corretto:
2012-06-19 21:35:00.908 Motilink[10188:11903] -[MLSettingLanguageViewController loadDownloadedData][Line 50]
'English' isEqual to '中国语', 0
<456e676c 697368>
<e4b8ade5 9bbde8af ad>
2012-06-19 21:35:00.909 Motilink[10188:11903] -[MLSettingLanguageViewController loadDownloadedData][Line 50]
'한국어' isEqual to '中国语', 0
<e18492e1 85a1e186 abe18480 e185aee1 86a8e184 8be185a5>
<e4b8ade5 9bbde8af ad>
2012-06-19 21:35:00.909 Motilink[10188:11903] -[MLSettingLanguageViewController loadDownloadedData][Line 50]
'中国语' isEqual to '中国语', 1
<e4b8ade5 9bbde8af ad>
<e4b8ade5 9bbde8af ad>
sembra che: NSString uso codificare da stesso,
inglese usa solo 7 byte come ascii
cinese uso uso 9 byte forse utf8
ma in coreano, apparire due risultati diversi,
qualcuno sa questo
Does -lang restituire un NSString? Se no, allora non saranno mai uguali. Forse dovresti inserire entrambi in MLLanguage e provare a utilizzare l'operatore isEqual :. –
si tratta di un oggetto NSString, è possibile vedere il registro, unico coreano non è corretto –
'한국어' IsEqual a '한국어', 0 . l'oggetto lang è la prima riga. forse l'oggetto lang non è un utf8 NSString –