iPhone objective-c:检测'真实'字样

Chr*_*ris 9 iphone dictionary spell-checking objective-c cpu-word

我需要一个(快速和脏)的解决方案来基本上检测某个NSString是否是一个"真正的"单词,也就是说,如果它在字典中.所以基本上,一个非常简单的拼写检查器.有谁知道有任何方法可以做到这一点?基本上我要么需要一个包含英语词典中所有单词的文件(我搜索过但无效),或者是一种与iPhone拼写检查服务接口的方法.当然我想以与OSX上的NSSpellChecker类似的方式与iPhone的拼写检查服务连接,这样我的应用程序将与其他语言一起使用,但此时我将采取我能得到的.

最后,这里有一些伪代码可以更好地说明我的需求:

-(BOOL)isDictionaryWord:(NSString*)word;  //returns TRUE when word=@"greetings". returns FALSE when word=@"slkfjsdkl";
Run Code Online (Sandbox Code Playgroud)

bra*_*ain 21

请改用UITextChecker.下面的代码可能不完美,但应该给你一个好主意.

-(BOOL)isDictionaryWord:(NSString*)word {
    UITextChecker *checker = [[UITextChecker alloc] init];
    NSLocale *currentLocale = [NSLocale currentLocale];
    NSString *currentLanguage = [currentLocale objectForKey:NSLocaleLanguageCode];
    NSRange searchRange = NSMakeRange(0, [word length]);

    NSRange misspelledRange = [checker rangeOfMisspelledWordInString:word range:searchRange startingAt:0 wrap:NO language:currentLanguage];
    return misspelledRange.location == NSNotFound;
}
Run Code Online (Sandbox Code Playgroud)