2011-08-10 10 views
3

모든 캐피탈이되는 사전로드 된 코어 데이터 데이터베이스에서 문자열을로드하고 있습니다.단어가 사전에 있는지 여부를 어떻게 확인할 수 있습니까?

각 단어가 영어 사전에 있는지 확인하고 일반 단어처럼 소문자로 바꾸고 싶다면 대문자로 유지하십시오 (약어 등).

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 인 범위를 반환하면 입력 한 문자열의 모든 단어가 사전에 있거나 이미 텍스트 검사기에서 "학습"한 것입니다. 노아의 답변

관련 문제