指定初始化方法是对父类的init方法实现的重载,没必要在.m文件中进行声明,此方法被本类中其他方法调用。
方法的实现:
-(instancetype)init
{
if(self = [super init]) //也可以self = [self init],以便被本类中其他方法(init方法)调用。此处self执行的是该方法的对 // 象
{
// 本类中变量初始化
}
return self;
}
=========================================================================================
便利构造器:是类方法,封装了alloc和init方法,使用起来更方便
例如:
+ (id)VnHeroWithBlood:(int)blood
{
VnHero *hero = [[VnHero alloc] init];
[hero setVnHeroBlood:blood];// 调用的setter方法
return hero; // 这里已经不是以前的self了
}
主函数声明:
// 调用便利构造器
VnHero * vn = [VnHero VnHeroWithBlood:67];
NSLog(@"blood = %i", [vn blood]); |
|