2016-10-03 9 views
-5

Ich versuche, Apples UITextChecker in Xcode 8 zu verwenden, um automatisch nach Rechtschreibfehlern in einer Reihe von Wörtern zu suchen und Vorschläge für Ersatz zu geben. Ich bin relativ neu, um auf Apple-APIs zu verweisen, daher würde jede Hilfe geschätzt werden.UITextChecker mit Swift 3

Danke!

+0

Was haben Sie versucht? Ihre Frage ist sehr breit und nicht über ein bestimmtes Problem. Oder erwartest du nur, dass wir es für dich schreiben? [Wie zu fragen] (http://stackoverflow.com/help/how-to-ask) – AgataB

Antwort

1

Hier ist, wie Sie es verwenden können:

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 
} 

Beachten Sie, dass die Sprachparameter ist optional, aber man konnte es passieren, wenn Sie die Sprache wechseln von "en" möchten.

Nennen Sie es:

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

können Sie diese Methode verwenden: "rangeOfMisspelledWordInString"

Für Übersicht Sie Dokumentation lesen.

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