Calling -init several times is undefined, unsupported and will lead to errors, crashes, and other unexpected behavior.
Many classes - NSString , NSArray and NSDictionary , for example - do not actually allocate anything when calling the +alloc method. Only one of the various -init* methods is invoked that the object has enough context to figure out the most efficient ways to do whatever you ask.
bbum
source share