UITextChecker
学习思考 总结领悟
无论是在iphone还是ipad中,键盘输入特别容易出现单词拼写错误,在iOS设备上会发现会自动的出现更正提示。在UIKit中包含一个类帮助我们实现自动更正的功能。
拼写检查(Spell Checking)
let str = "hipstar"
let textchecker = UITextChecker()
let misspelledRange = textchecker.rangeOfMisspelledWordInString(str, range: NSRange(0..<str.utf16.count), startingAt: 0, wrap: false, language: "en_US")
if misspelledRange.location != NSNotFound, let guesses = textchecker.guessesForWordRange(misspelledRange, inString: str, language: "en_US") as? [String] {
print("First guess: \(guesses.first)")
print(guesses)
//["hipster", "hip star", "hip-star", "hips tar", "hips-tar"]
} else {
print("Not found")
}
guessesForWordRange(_:inString:language:)返回一个字符串数组,其中包含当前错误单词的推断。
学习新单词
UITextChecker.learnWord(str)
这句是学习单词,在上段代码中添加这句代码,guessesForWordRange(_:inString:language:)返回空。
var isLearnWord = UITextChecker.hasLearnedWord(str)
检查当前单词是否学习过。如果学过则返回true
UITextChecker.unlearnWord(str)
忘记学过的单词。
匹配单词
let partial = "hipst"
let completions = textchecker.completionsForPartialWordRange(NSRange(0..<partial.utf16.count), inString: partial, language: "en_US")
// completions : ["hipster", "hipsters"]
completionsForPartialWordRange(_:inString:language:)方法返回匹配数组。