objective-c - 成員變數如何賦值的
怪我咯
怪我咯 2017-05-02 09:27:14
0
2
488

我們都知道屬性的賦值是呼叫屬性的setter方法, 可是成員變數是如何賦值的呢? 他的內部實作原理是什麼?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(2)
过去多啦不再A梦

我想應該是想問ivar和property的差別吧。
property = ivar+getter+setter

舉個例子
property (assign) int a 預設會產生 一個_a的成員變量,我們叫做ivar
同時會產生setter方法,長這樣:

-(void)setA:(int)a {
    _a = a;
}

同時也會產生一個getter方法,長這樣:

-(int)a {
    return _a;
}

同時會給_a一些增益buff,例如strong強引用,weak弱引用來控制這個變數生命週期。

所以property只是程式設計的一種形式,不必太在意,完全可以按照自己套路來。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!