2016-10-03 9 views
-5

私は、Xcode 8でアップルのUITextCheckerを使用して、一連の単語のスペルミスを自動的に検索し、置き換え候補を提示しようとしています。 Apple APIを参照するのは比較的新しいので、どんな助けでも感謝します。UITextChecker with Swift 3

ありがとうございます!言語パラメータがオプションであることを

func correctWord(word: String, language: String = "en") -> 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: language) 

    return misspelledRange.location == NSNotFound 
} 

注意をしていますが、"en"から言語を変更したい場合は、それを渡すことができます。ここでは

+0

だからあなたは何を試してみましたか?あなたの質問は非常に広く、特定の問題ではありません。それとも、私たちがあなたのためにそれを書くことを期待していますか? [質問する](http://stackoverflow.com/help/how-to-ask) – AgataB

答えて

1

は、あなたがそれを使用する方法です。

コールそれを:あなたがドキュメントを読むことができます概要については、 "rangeOfMisspelledWordInString"

let x = correctWord(word: "yweyuw") // false 
let y = correctWord(word: "Hello") // true 
1

あなたは、このメソッドを使用することができます。

https://developer.apple.com/reference/uikit/uitextchecker?language=objc

let word = "Testar" 
let textChecker = UITextChecker() 
let misspelledRange = textChecker.rangeOfMisspelledWordInString(
      word, range: NSRange(0..<word.utf16.count), startingAt: 0, wrap: false, language: "en_US") 

     if misspelledRange.location != NSNotFound, 
      let guesses = textChecker.guessesForWordRange(
       misspelledRange, inString: word, language: "en_US") as? [String] 
     { 
      print("Guess: \(guesses.first)") //Output is: Guess: Optional("Tester") 

     } else { 
      print("Not found") 
     }