Objevtive-C 创建对象需要通过alloc 以及init两个消息。
alloc是用来分配内存, init则是初始化对象。init与alloc都是定义在NSObject里的方法,父对象收到这两个信息并做出正确回应之后, 新对象才创建完毕。
以下为范例:
MyObject * my = [[Myobject alloc] init ];
在Objevtive-C 2.0里, 若创建对象不需要参数,则可直接使用new
MyObject * my = [MyObject new];
仅仅是语法上的精简,效果是完全相同
若要自己定义初始化的过程,可以重写 init 方法, 来添加额外的工作.(用途类似构造函数constructor)
-(id)
{
if (self = [super init])
{ //code }
return self ;
}