A UIText​Range object represents a range of characters in a text container; in other words, it identifies a starting index and an ending index in string backing a text-entry object.


Classes that adopt the UITextInput protocol must create custom UIText​Range objects for representing ranges within the text managed by the class. The starting and ending indexes of the range are represented by UITextPosition objects. The text system uses both UIText​Range and UIText​Position objects for communicating text-layout information. There are two reasons for using objects for text ranges rather than primitive types such as NSRange:

  • Some documents contain nested elements (for example, HTML tags and embedded objects) and you need to track both absolute position and position in the visible text.

  • The WebKit framework, which the iPhone text system is based on, requires that text indexes and offsets be represented by objects.

If you adopt the UITextInput protocol, you must create a custom UIText​Range subclass as well as a custom UIText​Position subclass.


Defining Ranges of Text

var start:​ UIText​Position

The start of a range of text.

var end:​ UIText​Position

The end of the range of text.

var is​Empty:​ Bool

A Boolean value that indicates whether the range of text represented by the receiver is zero-length.


Inherits From