Cocoa bindings are a controller-layer mechanism used to synchronize the view and model layers of your Mac OS X application. Bindings establish a mediated connection between a view and a piece of data, binding them in such a way that a change in one is reflected in the other.
One of the advantages of using bindings over traditional glue code is that you can use Interface Builder to configure them. Objects with bindable properties can expose those properties in Interface Builder. You can then configure that binding directly using the Bindings inspector. The configured bindings are saved in the nib file and re-created at runtime like other types of connections.
You configure bindings in Interface Builder by starting at the object that exposes a bindable property—typically, a view or controller object. You then use the Bindings inspector to specify the target of the binding and the binding options. You must configure each binding separately and each binding can be attached to a different target object. The target of a binding is always one of the recognized controller objects in your nib file, which typically includes the File’s Owner, the application, the shared user defaults controller, and any custom controller objects (especiallyNSController
objects) you add to the nib file.