UITextChecker 单词更正,补全

作者: 繁华落尽丶lee | 来源:发表于2016-07-31 16:03 被阅读175次

    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:)方法返回匹配数组。

    参考资料

    NSHipster

    相关文章

      网友评论

        本文标题:UITextChecker 单词更正,补全

        本文链接:https://www.haomeiwen.com/subject/owztsttx.html