---
title: "init(_:affinity:granularity:)"
framework: uikit
role: symbol
role_heading: Initializer
path: "uikit/nstextselection/init(_:affinity:granularity:)"
---

# init(_:affinity:granularity:)

Creates a new text selection with the ranges, selection affinity, and granularity you provide.

## Declaration

```swift
init(_ textRanges: [NSTextRange], affinity: NSTextSelection.Affinity, granularity: NSTextSelection.Granularity)
```

## Parameters

- `textRanges`: An array of text ranges.
- `affinity`: One of the available doc://com.apple.uikit/documentation/UIKit/NSTextSelection/Affinity-swift.enum options.
- `granularity`: One of the available doc://com.apple.uikit/documentation/UIKit/NSTextSelection/Granularity-swift.enum options.

## See Also

### Creating a text selection

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