init自定义个目的相当于构造方法,有的时候初始化的时候有一些默认值,还有就是页面加载数据的时机问题,防止加载了页面再填数据(不同步)。
-(instancetype)initWithName:(NSString *)aName andage:(int)aAge{
if (self =[super init]) { //调用父类方法init 并且判断是否初始化成功
self.name = aName;
self.age = aAge;
}
return self;
}
自定义的时候可以有三种返回类型使用意义相同
-(Person *)initWithName
-(id)initWithName //id是identify的缩写,某种程度上相当于void
-(instancetype)initWithName //是NSObject中init的类型,推荐使用