Checking whether the user’s entered word is a real word
There is one final check we need to do, and that is to see whether the word is an actual word in the dictionary. This check is important because the user could rearrange letters in baseWord
, make up their own word, and enter it into the list. We want to prevent that and check each of the words against an actual dictionary. To do that, we can use the UITextChecker
class. This class has methods and properties we can use to check whether a word is an actual word in the dictionary, and what’s especially nice is it will work with misspellings and authenticity in Spanish and Italian as well.
So, let’s go into the DataModel
class and add the following code to the isWordInDictionary
function:
func isWordInDictionary(word: String) -> Bool { return UITextChecker().rangeOfMisspelledWord(in: word, range: NSRange(location: 0, length: ...