Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
When declaring a pointer to hold on to an object, most of the time you specify the class of the object that the pointer will refer to:
NSDate *expiration;
However, often you need a way to create a pointer without knowing exactly what kind of object the pointer will refer to. For this case, we use the type id to mean “a pointer to some kind of Objective-C object” Here is what it looks like when you use it:
id delegate;
Notice that there is no asterisk in this declaration. id implies the asterisk.
The ideas of classes, objects, messages, and methods can be difficult to get your head around at the beginning. Don’t worry if you're feeling a little uncertain about objects. This is just the beginning. You’ll be using these patterns over and over again, and they will make more sense each time you do.