UITextChecker没有专有名词

时间:2012-04-20 05:11:01

标签: objective-c xcode4 spell-checking

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

    }

任何帮助将不胜感激!

1 个答案:

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

}