消除UITextChecker中的缩写

时间:2012-11-11 01:01:52

标签: objective-c ios text

我正在尝试创建一个生成随机单词的应用程序,但是我希望缩写在创建时被忽略。为此,我随机生成一个字母数组(用与拼字游戏相同的权重加权; P)然后使用UITextChecker运行数组检查正确的单词,如下所示:

for (int i = 0; i < 14; i++) {
        [word setString:@""];
        for (int j = i; j < 14 ;j++) {
            [word appendString:[letterArray objectAtIndex:j]];

            NSRange misspelledWord = [checkText rangeOfMisspelledWordInString:word range:NSMakeRange(0, word.length) startingAt:0 wrap:NO language:@"en_GB"];

            if (misspelledWord.location == NSNotFound && word.length > 2) {
                NSRange misspelledWordSecondRun = [checkText rangeOfMisspelledWordInString:word range:NSMakeRange(0, word.length) startingAt:0 wrap:NO language:@"en_US"];
                if (misspelledWordSecondRun.location == NSNotFound) {

                     NSLog(@"You generated the word: %@",word);
                }
            }
            else {

            }
        }
    }

唯一的问题是,这会让一些荒谬的缩写词和首字母缩略词通过......有什么方法可以减少这个数字吗?必须有一种语言我可以发送checkText这是英语词典的缩写免费版本吗?或者某种方式告诉它将首字母缩略词标记为拼写错误的单词?正如你所看到的那样,我试图通过使用英语而不是英语英语来第二次过滤单词来减少数量,但是这并没有减少通过的首字母缩略词的数量:/

1 个答案:

答案 0 :(得分:0)

使用我不想包含的单词数组实现这一点,每次生成一个单词时,它会检查它是否在此数组中。如果是,它不会将其注册为单词,如果不是,则不会。