我正在练习UITextChecker类来快速检查单词拼写游戏的字符串。工作得太好了。不幸的是,据我所知,在这个类上运行的唯一方法返回“正确”的单词,其中也包括专有名词。我想根据一些不包含专有名词的常用词来检查我的字符串。到目前为止,这是我的代码:
//Test the answer for a word
UITextChecker *checker = [[UITextChecker alloc] init];
NSString *testString = wordString;
NSRange range = NSMakeRange(0,0);
range = [checker rangeOfMisspelledWordInString:[testString lowercaseString]
range:NSMakeRange(0, [testString length])
startingAt:0
wrap:NO
language:@"en_US"];
if (range.location == NSNotFound) {
spelledWord = YES;
} else {
spelledWord = NO;
}
任何帮助将不胜感激!
答案 0 :(得分:1)
不确定这是否是最简单的方法,但你可以提出第二个条件。首先在代码的其他地方存储一个带有专有名词(或其他你不想要的词)的数组,如果你想不到它们,就可以在Google上进行搜索。 (我从我使用的方法中稍微改编了一下)
if (range.location == NSNotFound) {
int i = 1;
NSString *p;
foundrand = FALSE;
if ([[MyArray sharedKelArray].Myarray count] >2){
////NSLog(@"GOTTEN - %d", choosennumber);
while(i<[[MyArray sharedKelArray].Myarray count])//would check that if equal
{
p = [[[MyArray sharedKelArray].Myarray objectAtIndex:i] NSString];
NSLog(@"Checking word - %d",p);
if (testString == p){
NSLog(@"Matched");
spelledWord = NO;
i = 5 + [[MyArray sharedKelArray].Myarray count];
}
i+=1;
}
spelledWord = YES;
}
}
}