<!--
{
  "availability" : [
    "iOS: 3.2.0 -",
    "iPadOS: 3.2.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UITextChecker/guesses(forWordRange:in:language:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UITextChecker(im)guessesForWordRange:inString:language:"
  },
  "title" : "guesses(forWordRange:in:language:)"
}
-->

# guesses(forWordRange:in:language:)

Returns a list of words that are possible valid replacements for a misspelled word.

```
func guesses(forWordRange range: NSRange, in string: String, language: String) -> [String]?
```

## Parameters

`range`

The range of a misspelled word in `string`.

`string`

A string in which there is a misspelled word, as located by `range`.

`language`

The language of the of the words that are possible corrections. This string is from the ISO 639-1 standard, for example `es` (Spanish).

## Return Value

An array of strings each of which might be a correct substitute (that is, a guess) for a misspelled word in the given range of the string. If no possible guesses are found,  the method returns an empty array.

## Discussion

The strings in the array are in the order they should be presented to the user—that is, more probable guesses come first in the array.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)