同时重写settter和getter方法,不用运行时怎么实现?
@interface ViewController ()
{
NSInteger _age;
}
@property (nonatomic, strong) NSString *name;
//这样就会生成setter和getter
@property (nonatomic, assign) NSInteger age;
@end
@implementation ViewController
//关联属性,生成方法
@synthesize age = _age;
- (NSInteger)age {
return _age;
}
- (void)setAge:(NSInteger)age {
_age = age;
}
#pragma mark - setter && getter
//不能setter和getter方法都重写
//- (void)setName:(NSString *)name {
// _name = name;
//}
//- (NSString *)name {
// return name;
//}
理解@property会自动生成setter和setter方法,当只使用这个属性时不同同时重写setter和getter方法,上面的@synthesize关键字完美解决了这个问题.将_age和age关联起来,和属性的使用效果相同.