2016-10-03 142 views
-5

我想在Xcode 8中使用苹果的UITextChecker来自动搜索拼写错误的单词的字符串,并提供替代的建议。我对于引用Apple API相对来说比较新,所以我们将不胜感激。UITextChecker与斯威夫特3

谢谢!

+0

那么你尝试过什么?你的问题很广泛,而不是一个具体的问题。或者你只是希望我们为你写信? [如何问](http://stackoverflow.com/help/how-to-ask) – AgataB

回答

1

这里是你如何使用它:

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"改变语言。

叫它:

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

您可以使用此方法: “rangeOfMisspelledWordInString”

有关概述,你可以阅读文档。

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") 
     }