1. Cocoa does not use getName
because methods that start with “get” in Cocoa indicate that the method will return values by reference.
2. Signing an application allows the system to identify who signed the application and to verify that the application has not been modified since it was signed.
3. Archiving is the process of converting a group of related objects to a form that can be stored or transferred between applications. The end result of archiving—an archive—is a stream of bytes that records the identity of objects, their encapsulated values, and their relationships with other objects. Unarchiving, the reverse process, takes an archive and reconstitutes an identical network of objects.
4. Delegation is a simple and powerful pattern in which one object in a program acts on behalf of, or in coordination with, another object. The delegating object keeps a reference to the other object—the delegate—and at the appropriate time sends a message to it. The message informs the delegate of an event that the delegating object is about to handle or has just handled. The delegate may respond to the message by updating the appearance or state of itself or other objects in the application, and in some cases it can return a value that affects how an impending event is handled. The main value of delegation is that it allows you to easily customize the behavior of several objects in one central object.
5. A data source is almost identical to a delegate. The difference is in the relationship with the delegating object. Instead of being delegated control of the user interface, a data source is delegated control of data. The delegating object, typically a view object such as a table view, holds a reference to its data source and occasionally asks it for the data it should display. A data source, like a delegate, must adopt a protocol and implement at minimum the required methods of that protocol. Data sources are responsible for managing the memory of the model objects they give to the delegating view.
6. Dynamic binding is determining the method to invoke at runtime instead of at compile time.
7. (Dynamic Typing ) Every object has an isa
instance variable that identifies the object's class. The runtime uses this pointer to determine the actual class of the object when it needs to.
8. A message is the name of a method, and any parameters associated with it, that are sent to, and executed by, an object.