Я пытаюсь проверить строку, чтобы увидеть, есть ли в ней какие-либо слова с ошибками. Я использую яблоки UITextChecker класса сделать это следующим образом:всегда возвращает false 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");
}
}
Он всегда возвращает «Слова были найдены неправильно», независимо от того, каких слов ставятся в
Что я делаю не так ??
Спасибо!
Итак, для временного обходного пути, что я сделал, включите мое слово в предложение, а затем проверьте предложение с их исходным кодом. Работал для меня: D Кроме того, их [[UITextChecker availableLanguages] objectAtIndex: 0]; возвращал «pt_PT», который я решительно настроил на «en_US». – dytrivedi
Кроме того, NSRange stringRange = NSMakeRange (0, theText.length-1); должен быть изменен на NSRange stringRange = NSMakeRange (0, theText.length); – dytrivedi
Правильно, я просто сделаю это сейчас. Спасибо, парень. Должны ли мы предоставить отчет об ошибке для яблока? – Bdennis317