@synthesize和@property關鍵字

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 喝完大酒太白眼里的月色心中的玉環呢喃的詩 逛完窯子飛卿夢里的燈火窗前的玄機亂填的詞 春天里牧馬滿山的杏花不知不覺甜...
    孔十八閱讀 186評論 0 0
  • 城市說書人閱讀 238評論 2 10
  • 你的生命中是否也有過懷疑人生的時候。 你感覺生無可戀,似乎一瞬間感覺自己是個一無所有的人。 你以為自己的家不夠溫暖...
    夏子軒Well閱讀 863評論 0 0
  • 還記得八年前,是個夏天,我正在屋子里漫不經心地洗著衣服,突然家門口一陣嘈雜,正起身就看到老媽走進了屋子,將用...
    阿婆次得額佛歌閱讀 407評論 0 0
  • 所謂的人脈,從來都是一種等價交換。今天突然想到這句話,是因為聽說了一個案例:一個年輕公務員,參加工作沒幾年就...
    菜心昕閱讀 124評論 0 0