同時重寫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關聯起來,和屬性的使用效果相同.