---
title: NSTextSelectionNavigation
framework: uikit
role: symbol
role_heading: Class
path: uikit/nstextselectionnavigation
---

# NSTextSelectionNavigation

An interface you use to expose methods for obtaining results from actions performed on text selections.

## Declaration

```swift
class NSTextSelectionNavigation
```

## Topics

### Creating a selection navigation

- [init(dataSource:)](uikit/nstextselectionnavigation/init(datasource:).md)

### Selection characteristics

- [allowsNonContiguousRanges](uikit/nstextselectionnavigation/allowsnoncontiguousranges.md)
- [rotatesCoordinateSystemForLayoutOrientation](uikit/nstextselectionnavigation/rotatescoordinatesystemforlayoutorientation.md)
- [NSTextSelectionNavigation.Modifier](uikit/nstextselectionnavigation/modifier.md)
- [NSTextSelectionNavigation.Destination](uikit/nstextselectionnavigation/destination.md)
- [NSTextSelectionNavigation.Direction](uikit/nstextselectionnavigation/direction.md)
- [textSelection(for:enclosing:inContainerAt:)](uikit/nstextselectionnavigation/textselection(for:enclosing:incontainerat:).md)

### Accessing the data source

- [textSelectionDataSource](uikit/nstextselectionnavigation/textselectiondatasource.md)
- [NSTextSelectionDataSource](uikit/nstextselectiondatasource.md)

### Working with text selections

- [textSelection(for:enclosing:)](uikit/nstextselectionnavigation/textselection(for:enclosing:).md)
- [textSelections(interactingAt:inContainerAt:anchors:modifiers:selecting:bounds:)](uikit/nstextselectionnavigation/textselections(interactingat:incontainerat:anchors:modifiers:selecting:bounds:).md)
- [destinationSelection(for:direction:destination:extending:confined:)](uikit/nstextselectionnavigation/destinationselection(for:direction:destination:extending:confined:).md)

### Controlling cache behavior

- [flushLayoutCache()](uikit/nstextselectionnavigation/flushlayoutcache().md)

### Finding the insertion point

- [resolvedInsertionLocation(for:writingDirection:)](uikit/nstextselectionnavigation/resolvedinsertionlocation(for:writingdirection:).md)

### Specifying deletion ranges

- [deletionRanges(for:direction:destination:allowsDecomposition:)](uikit/nstextselectionnavigation/deletionranges(for:direction:destination:allowsdecomposition:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Location and selection

- [NSTextRange](uikit/nstextrange.md)
- [NSTextSelection](uikit/nstextselection.md)
- [NSTextLocation](uikit/nstextlocation.md)
