---
title: NSEditorRegistration
framework: appkit
role: symbol
role_heading: Protocol
path: appkit/nseditorregistration
---

# NSEditorRegistration

A set of methods that controllers can implement to enable an editor view to inform the controller when it has uncommitted changes.

## Declaration

```swift
protocol NSEditorRegistration : NSObjectProtocol
```

## Overview

Overview An implementor is responsible for tracking which editors have uncommitted changes, and sending those editors commitEditing and discardEditing messages, as appropriate, to force the editor to submit, or discard, their values. NSController provides an implementation of this informal protocol. You would implement this protocol if you wanted to provide your own controller class without subclassing NSController.

## Topics

### Instance Methods

- [objectDidBeginEditing(_:)](appkit/nseditorregistration/objectdidbeginediting(_:).md)
- [objectDidEndEditing(_:)](appkit/nseditorregistration/objectdidendediting(_:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [NSArrayController](appkit/nsarraycontroller.md)
- [NSController](appkit/nscontroller.md)
- [NSDictionaryController](appkit/nsdictionarycontroller.md)
- [NSDocument](appkit/nsdocument.md)
- [NSObjectController](appkit/nsobjectcontroller.md)
- [NSPersistentDocument](appkit/nspersistentdocument.md)
- [NSTreeController](appkit/nstreecontroller.md)
- [NSUserDefaultsController](appkit/nsuserdefaultscontroller.md)

## See Also

### Protocols

- [NSAccessibility](appkit/nsaccessibility.md)
- [NSInputServiceProvider](appkit/nsinputserviceprovider.md)
- [NSInputServerMouseTracker](appkit/nsinputservermousetracker.md)
- [NSDrawerDelegate](appkit/nsdrawerdelegate.md)
