<!--
{
  "availability" : [
    "macOS: 15.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSWritingToolsCoordinator/Delegate-swift.protocol/writingToolsCoordinator(_:willChangeTo:completion:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(pl)NSWritingToolsCoordinatorDelegate(im)writingToolsCoordinator:willChangeToState:completion:"
  },
  "title" : "writingToolsCoordinator(_:willChangeTo:completion:)"
}
-->

# writingToolsCoordinator(_:willChangeTo:completion:)

Notifies your delegate of relevant state changes when Writing Tools
is running in your view.

```
optional func writingToolsCoordinator(_ writingToolsCoordinator: NSWritingToolsCoordinator, willChangeTo newState: NSWritingToolsCoordinator.State, completion: @escaping @Sendable () -> Void)
```

```
optional func writingToolsCoordinator(_ writingToolsCoordinator: NSWritingToolsCoordinator, willChangeTo newState: NSWritingToolsCoordinator.State) async
```

## Parameters

`writingToolsCoordinator`

The coordinator object providing
information to your custom view.

`completion`

A handler to execute when your delegate finishes processing
the change of state. The handler has no parameters or return value. You
must call this handler at some point during the implementation of your method.

## Discussion

Use state transitions to perform actions related to your view or text storage.
When Writing Tools is active, it updates its state to indicate what task
it’s currently performing. Writing Tools starts in the [`NSWritingToolsCoordinator.State.inactive`](/documentation/AppKit/NSWritingToolsCoordinator/State-swift.enum/inactive)
state and moves to other states as it presents UI and starts interacting with
your view’s content. For example, it moves to the [`NSWritingToolsCoordinator.State.interactiveResting`](/documentation/AppKit/NSWritingToolsCoordinator/State-swift.enum/interactiveResting)
state when it’s making changes to your view’s text storage.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)