Errata - Storing the User Defaults - controlTextDidChange(_:)

The instance method controlTextDidChange(_:) is not a required or optional method of the protocol NSTextFieldDelegate. So there is no need to make MainWindowController to conform to NSTextFieldDelegate.

class MainWindowController: NSWindowController, NSSpeechSynthesizerDelegate, NSWindowDelegate, NSTableViewDataSource, NSTableViewDelegate {

This method is invoked when text in a control such as a text field or form changes. The control posts a NSControlTextDidChange notification, and if the control’s delegate implements this method, it is automatically registered to receive the notification.