WHAT YOU WILL LEARN IN THIS CHAPTER:
How to use outlets and actions to connect Cocoa application interfaces to your custom code
How to use Cocoa Bindings as an alternative to outlets and actions
How Apple uses the Model/View/Controller design pattern to build reusable, extendable classes
People use the word "Cocoa" in different ways to describe different things. For example, Cocoa can refer to the Objective-C programming language and dynamic runtime. In Chapter 7, you learned how to write simple programs in Objective-C. Some of that material, such as object reference counting, is specific to Cocoa.
Cocoa also applies to the Objective-C frameworks and libraries commonly used by Cocoa applications. Two principal frameworks among these include AppKit and Foundation. A few other frameworks seem to be a part of the Cocoa family in one way or another, including the PreferencePanes and WebKit frameworks.
The Foundation framework contains Objective-C objects, protocols, and functions that are useful to Mac OS X programs in general, regardless of whether they are meant to be user-friendly applications or low-level system utilities. For example, things such as collection classes, file I/O, and memory utilities are defined in Foundation. Also, some functionality commonly thought of as high-level application functionality lives in Foundation because it doesn't involve any user interface (UI). The management of both undo and user preferences are part of Foundation. ...