J'essaie de vérifier une chaîne pour voir s'il y a des mots mal orthographiés dedans. J'utilise des pommes UITextChecker classe pour le faire comme ceci:retourne toujours faux iphone obj c question
#import <UIKit/UITextChecker.h>
id textChecker = [UITextChecker new];
NSInteger currentOffset = 0;
NSRange currentRange = NSMakeRange(0, 0);
NSRange stringRange = NSMakeRange(0, 2);
NSArray *guesses;
NSString *theLanguage = [[UITextChecker availableLanguages] objectAtIndex:0];
if (!theLanguage)
theLanguage = @"en_US";
currentRange = [textChecker rangeOfMisspelledWordInString:currentText range:stringRange
startingAt:currentOffset wrap:NO language:theLanguage];
// NSLog("@currentRange is %i", currentRange);
if (currentRange.location == NSNotFound) {
NSLog(@"No wrong words");
}
else {
NSLog(@"Words were found wrong");
}
}
Il retourne toujours « Les mots ont été trouvés mal », peu importe ce que les mots est mis en
Qu'est-ce que je fais mal ??
Merci!
Donc, pour une solution de contournement temporaire, ce que j'ai fait était, inclure mon mot dans une phrase, puis tester la phrase avec leur code d'origine. A travaillé pour moi: D Et aussi, leurs [[UITextChecker availableLanguages] objectAtIndex: 0]; renvoyait "pt_PT" que j'ai forcé à "en_US". – dytrivedi
NSRange stringRange = NSMakeRange (0, theText.length-1); doit être changé en NSRange stringRange = NSMakeRange (0, theText.length); – dytrivedi
Bon, je vais le faire pour l'instant. Merci mec. Devrions-nous soumettre un rapport de bug à Apple? – Bdennis317