简体   繁体   中英

UITextChecker in Swift 4

I get an error while using UITextChecker in Swift 4. The following code most likely works for Swift 3, I'm just not sure what's the problem in Swift 4? Here is my code:

import UIKit
var correctStr : String = String()
let str = "Helo"
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]
        {
            correctStr = guesses.first

        }

and I receive this error: "use of unresolved identifier 'UITextChecker'.

Your help would be greatly appreciated.

The APIs rangeOfMisspelledWordInString and guessesForWordRange have been renamed, your code should read:

import UIKit
var correctStr : String = String()
let str = "Helo"
let textChecker = UITextChecker()

let misspelledRange = textChecker.rangeOfMisspelledWord(in: str, range: NSRange(0..<str.utf16.count), startingAt: 0, wrap: false, language: "en_US")
if misspelledRange.location != NSNotFound,
  let guesses = textChecker.guesses(forWordRange: misspelledRange, in: str, language: "en_US") {
  correctStr = guesses.first!
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM