1

我正在练习 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;

    }

任何帮助,将不胜感激!

4

1 回答 1

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;
    }
}

}
于 2012-04-20T06:56:05.820 回答