insertCompletion(_:forPartialWordRange:movement:isFinal:)
Inserts the selected completion into the text at the appropriate location.
Declaration
func insertCompletion(_ word: String, forPartialWordRange charRange: NSRange, movement: Int, isFinal flag: Bool)Parameters
- word:
The text to insert, including the matched partial word and its potential completion.
- charRange:
The range of characters of the matched partial word to be completed.
- movement:
The direction of movement. For possible values see the Nstext Constants section. This value allows subclasses to distinguish between canceling completion and selection by arrow keys, by return, by tab, or by other means such as clicking.
- flag:
False while the user navigates through the potential text completions, True when a completion is definitively selected or cancelled and the original value is reinserted.
Discussion
This method has two effects, text substitution and changing of the selection:
It replaces the text between
charRange.startand the current insertion point withword.If
flagis false it changes the selection to be the last n characters ofwordwhere n is equal to[word length]minuscharRange.length, that is, the potential completion.If
flagis true it makes the selection empty and puts the insertion point just afterword.