---
title: NSTextSelectionNavigation
framework: appkit
role: symbol
role_heading: Class
path: appkit/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:)](appkit/nstextselectionnavigation/init(datasource:).md)

### Selection characteristics

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

### Accessing the data source

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

### Working with text selections

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

### Controlling cache behavior

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

### Finding the insertion point

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

### Specifying deletion ranges

- [deletionRanges(for:direction:destination:allowsDecomposition:)](appkit/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](appkit/nstextrange.md)
- [NSTextSelection](appkit/nstextselection.md)
- [NSTextLocation](appkit/nstextlocation.md)
