---
title: NSTextSelection
framework: appkit
role: symbol
role_heading: Class
path: appkit/nstextselection
---

# NSTextSelection

A class that represents a single logical selection context that corresponds to an insertion point.

## Declaration

```swift
class NSTextSelection
```

## Topics

### Creating a text selection

- [init(_:affinity:)](appkit/nstextselection/init(_:affinity:).md)
- [init(range:affinity:granularity:)](appkit/nstextselection/init(range:affinity:granularity:).md)
- [init(_:affinity:granularity:)](appkit/nstextselection/init(_:affinity:granularity:).md)
- [init(coder:)](appkit/nstextselection/init(coder:).md)

### Characteristics of a selection

- [affinity](appkit/nstextselection/affinity-swift.property.md)
- [NSTextSelection.Affinity](appkit/nstextselection/affinity-swift.enum.md)
- [anchorPositionOffset](appkit/nstextselection/anchorpositionoffset.md)
- [granularity](appkit/nstextselection/granularity-swift.property.md)
- [NSTextSelection.Granularity](appkit/nstextselection/granularity-swift.enum.md)
- [isLogical](appkit/nstextselection/islogical.md)
- [isTransient](appkit/nstextselection/istransient.md)
- [secondarySelectionLocation](appkit/nstextselection/secondaryselectionlocation.md)
- [NSTextLocation](appkit/nstextlocation.md)
- [textRanges](appkit/nstextselection/textranges.md)
- [typingAttributes](appkit/nstextselection/typingattributes.md)

### Creating subselections

- [textSelection(_:)](appkit/nstextselection/textselection(_:).md)

### Initializers

- [init(location:affinity:)](appkit/nstextselection/init(location:affinity:).md)
- [init(ranges:affinity:granularity:)](appkit/nstextselection/init(ranges:affinity:granularity:).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)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Location and selection

- [NSTextRange](appkit/nstextrange.md)
- [NSTextSelectionNavigation](appkit/nstextselectionnavigation.md)
- [NSTextLocation](appkit/nstextlocation.md)
