Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
A common criticism of bindings is that there is too much magic happening that the programmer can’t see. This chapter dispels some of the magic. Bindings are hard to document because they typically aren’t visible in code. The same criticism can be made for Targets, Actions, and Outlets that are configured in Interface Builder. However, due in part to the flexibility and potential complexity of bindings, the need to document bindings is even greater than the need to document Targets, Actions, and Outlets.
The use of string keys avoids coupling between objects. Any two properties of any two objects can bind together as long as properties corresponding to the string keys can be found at runtime. Of course, the corresponding down side is that the compiler can’t determine correctness of bindings. You have to wait until runtime to test bindings.