本文共 1087 字,大约阅读时间需要 3 分钟。
//Person.h#import@interface Person:NSObject{ NSString *_name; NSUInteger _age; NSString *_sex;}-(instancetype)initWithName:(NSString*)name;-(instancetype)initWithAge:(NSString*)age;-(instancetype)initWithName:(NSString*)name age:(NSInteger)age sex:(NSString*)sex;
//Person.m#import "Person.h"@implementation Person-(instancetype)initWithName:(NSString*)name{ self =[super init]; if(self){ _name=name; _age=0; _sex=@""; } return self;}-(instancetype)initWithName:(NSString*)name age:(NSInteger)age sex:(NSString*)sex{ self =[super init]; if(self){ _name=name; _age=age; _sex=sex; } return self;}
优化,有相同或相似的逻辑实现,可以考虑封装成一个方法,来完成方法的调用:
-(instancetype)initWithName:(NSString*)name{ return [self initWithName:name age:0 sex:@""];}
在if判断里给属性赋值
调用:
Person *person=[[Person alloc]initWithName:@"张三"];person=[[Person alloc]initWithName:@"张三",age:10,sex:@"男"];
为了在打印类的时候能看到有用的信息,就可以重写description方法:
-(NSString *)description{ return [NSString stringWithFormat:@"name=%@,age=%zd,sex=%@",_name,_age,_sex];}
转载地址:http://mpwin.baihongyu.com/