100 days of Swift - Day 28

sun02·2021년 9월 17일
0

100 days of Swift 

목록 보기
25/40

func isReal(word: String) -> Bool {
	let checker = UITextChecker()
    let range = NSRange(location: 0, length: word.utf16.count)
    let misspelledRange = checker.rangeOfMisspelledWord(in: word, range: range, startingAt: 0, wrap: false, language: "en")
    
    return misspelledRange.loaction == NSNotFound
}
  • UITextChecker : 스팰링 오류를 발견하도록 설계된 iOS 클래스이다. 주어진 단어가 실제 존재하는지 아닌지 알 수 있다.
  • NSRange : 시작 위치와 길이를 가지는 문자열 범위를 저장하는데 사용된다. 전체 문자열을 검사하기 위해 시작 위치를 0 으로 두고, 길이에 문자열 길이를 사용한다.
  • checker.rangeOfMisspelledWord() : UITextChecker 인스턴스의 메서드이다.
    • in : 문자열
    • range : 확인해야하는 범위
    • startingAt : text checker가 확인을 시작해야하는 지점
    • wrap : startingAt에서 철자가 틀린 단어가 발견되지 않은 경우 UITextChecker가 시작점에서 시작해야하는지 여부를 설정
    • langeuage : 확인해야하는 언어
  • return misspelledRange.location == NSNotFound : rangeOfMisspelledWord를 호출하면 맞춤법 오류 위치를 알려주는 또다른 NSRange가 반환된다. 그러나 우리는 오류의 존재 여부를 알고 싶고, 아무것도 발견되지 않았을 경우 NSRange의 특수 위치 NSNotFound가 반환된다. 따라서 NSNotFound이면 유효한 단어이다.

0개의 댓글