创建对象过程:
- 分配存储空间(+alloc)
- 初始化(-init)
重写init()方法
即可初始化成员变量,必须先调用[super init]
例:Person类
1.实现文件中重写
-init()
{
//1.调用父类init,做一些初始化操作
self = [super init];
//2.初始化成功
if(self != nil)
{
//3.这里做初始化操作
}
return self;
}
或
-init()
{
if(self = [super init])
{
//这里做初始化操作
}
return self;
}
2.实例化:
Person *p = [[Person alloc] init];
自定义构造函数
规则:
- 一定是对象方法,一定以“-”开头
- 返回值一般为id类型
- 方法名一般以initWith名称开头
例:
声明并实现
<span style="font-size:14px;">-initWithName:(NSString *) name
{
if( self = [super init] )
{
_name = name;
}
return self;
}</span>
<span style="font-size:14px;">Person *p = [[Person alloc] initWithName:@“Jack”];</span>