NEW: Check out my incredible new SpriteKit book! >>

How to check a string is spelled correctly using UITextChecker

Written by Paul Hudson    @twostraws

You can draw on the iOS dictionary in just a few lines of code thanks to the UITextChecker class. Tell it the range of the string you want to check (this could be the whole string or just part of it), then ask it to tell you where the spelling error is. If it says there are no errors, the word is good. Here's the code:

func isReal(word: String) -> 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: "en")

    return misspelledRange.location == NSNotFound
}

Note that rangeOfMisspelledWord(in:) accepts a language parameter, so you can change that as needed.

Available from iOS 3.2 – see Hacking with Swift tutorial 5

Did this solution work for you? Please pass it on!

Other people are reading…

About the Swift Knowledge Base

This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.

Master iOS 10 now!

My book Practical iOS 10 gives you seven complete coding projects that teach all the major new features in iOS 10 in a smart, practical way.

Click here to visit the Hacking with Swift store >>