2011-08-10 2 views
3

すべてのCAPITALであるプリロードされたコアデータデータベースから文字列をロードしています。単語が辞書に含まれているかどうかを確認する方法はありますか?

各単語が英語の辞​​書に含まれているかどうかをチェックし、そうであれば通常の文のように小文字にしてください。大文字ではない場合は省略してください。

iOS 4でこれを行う方法はありますか?

+0

私はSDKに組み込まれた辞書を探してみましたが、ものを見つけることができませんでした。 –

答えて

6

実装:

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

NSString string = @"lalala"; 
if ([self isDictionaryWord:string]) string = [string lowercaseString]; 
0

iOS 3.2以降では、UITextCheckerクラスを使用してシステム辞書にアクセスできます。その-rangeOfMisspelledWordInString:range:startingAt:wrap:language:メソッドを使用します。locationNSNotFoundの範囲を返した場合、指定した文字列のすべての単語が辞書に入っているか、テキストチェッカーで既に「学習」されています。ノアの答えのための