我试图在Xcode 8中使用Apple的UITextChecker来自动搜索一串单词中的拼写错误,并提供有关替换的建议。我引用Apple API相对较新,所以任何帮助都会受到赞赏。
谢谢!
答案 0 :(得分: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 :(得分: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")
}