[class new]等价于[[class alloc] init],不过在objective-c中惯例使用后者。
alloc除了分配内存外,还顺带初始化为0, BOOL被初始化为NO,int初始化为0,float初始化为0.0,指针被初始化为nil
指定初始化函数:类中的某个初始化方法被指派为指定初始化函数。该类的所有初始化方法都使用指定初始化函数执行初始化操作,而子类使用其超类的指定初始化函数进行超类的初始化。通常,接收参数最多的初始化方法是最终的指定初始化函数。
在你自己的init初始化方法中,需要调用自己的指定初始化函数或者超类的指定初始化函数。一定要将超类的初始化函数的返回值赋给self,并返回self作为init方法的值。需要注意的是,超类可能会返回一个完全不同的对象。
-(id)init
{
if(self = [super init])
{
// do something
}
return (self);
}