主题
- 构造方法initWith
- 要想外部高大上,内部必须下狠功夫
exam:
self:是消息发送者,不要简单理解为对象
- (instancetype或者id(万能指针))initWithAge:(int)age{
self = [super init];
if(self){
_ age = age;
}
return self;
下图为isa截图
在对象处打一断点可到如下内容,isa是指针,指向类方法 - (void)setAge等
在init构造实现赋值和输出
需要有赋值方法和输出方法
例如
// setter method
- (void)setAge:(int)age{
_age = age;
}
// getter method
- (int)age{
return _age;
}
// operation method
- (void)showAll{
NSLog(@“年龄是%i”,_age);
}
// 自定义init方法实现:赋值和输出
- (instancetype)initWithAge:(int)age{
self = [super init];
if (self){
[self setAge:age]; // setter
[self showAll];// 打印输出信息
return self;
}
}