黑马程序员技术交流社区

标题: ObjectC----便利构造器和指定初始化 [打印本页]

作者: gd32376300    时间: 2015-12-8 11:29
标题: ObjectC----便利构造器和指定初始化
指定初始化方法是对父类的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]);




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2