[size=medium]At the beginning of this chapter, we talked about how an instance is created: its class is sent the message alloc, which creates an instance of that class and returns a pointer to it, and that instance is sent the message init. The init message isn’t a special type of instance method, though; it is simply a naming convention. Your initialization method could have a totally different name, like finishMakingInstance. However, by convention, all initialization methods begin with the word init. Objective-C is all about naming conventions, which you should strictly adhere to. (Seriously. Disregarding naming conventions in Objective-C results in problems that are worse than most beginners would imagine.)
The class NSObject implements a method named init. This is the initializer message you need to send to an instance of NSObject to initialize it. Because init is the main (or, in this case, only) initialization method for NSObject, we call it thedesignated initializer. Classes can have multiple initializers, but for every class, there is one designated initializer. The designated initializer must make sure that each of the instance variables has a valid value. Only then will the newly created instance be valid. (“Valid” has different meanings, but the meaning in this context is, “When you send messages to this object after initializing it, you can predict the outcome and nothing bad will happen.”) Typically, the designated initializer is the initialization method with the most arguments.
in Objective-C, classes can also receive messages. We call these class methods. (alloc is an example of a class method.) [/size]
The class NSObject implements a method named init. This is the initializer message you need to send to an instance of NSObject to initialize it. Because init is the main (or, in this case, only) initialization method for NSObject, we call it thedesignated initializer. Classes can have multiple initializers, but for every class, there is one designated initializer. The designated initializer must make sure that each of the instance variables has a valid value. Only then will the newly created instance be valid. (“Valid” has different meanings, but the meaning in this context is, “When you send messages to this object after initializing it, you can predict the outcome and nothing bad will happen.”) Typically, the designated initializer is the initialization method with the most arguments.
in Objective-C, classes can also receive messages. We call these class methods. (alloc is an example of a class method.) [/size]