@interface MyViewController :UIViewControlle{
UIButton *yourButton;
int count;
id data;
}
@property(nonatomic, strong) UIButton *myButton;
在?? {?? }?? 中所聲明的變量都為成員變量铝耻。
所以yourButton誊爹、count、data都是成員變量瓢捉。既然如此频丘,實例變量又是什么意思呢?實例變量本質(zhì)上就是成員變量泡态,只是實例是針對類而言搂漠,實例是指類的聲明。
{? }??? 中的yourButton就是實例變量某弦。id 是OC特有的類状答,本質(zhì)上講id等同于(void *)。所以id data屬于實例變量刀崖。
成員變量用于類內(nèi)部惊科,無需與外界接觸的變量。因為成員變量不會生成set亮钦、get方法馆截,所以外界無法與成員變量接觸。
根據(jù)成員變量的私有性蜂莉,為了方便訪問蜡娶,所以就有了屬性變量。屬性變量的好處就是允許讓其他對象訪問到該變量(因為屬性創(chuàng)建過程中自動產(chǎn)生了set 和get方法)映穗。當(dāng)然窖张,你可以設(shè)置只讀或者可寫等,設(shè)置方法也可自定義蚁滋。所以宿接,屬性變量是用于與其他對象交互的變量赘淮。
成員變量是定義在{}號中的變量,如果變量的數(shù)據(jù)類型是一個類則稱這個變量為實例變量睦霎。
因為實例變量是成員變量的一種特殊情況梢卸,所以實例變量也是類內(nèi)部使用的,無需與外部接觸的變量副女,這個也就是所謂的類私有變量蛤高。
而屬性變量是用于與其他對象交互的變量。
**實例變量+基本數(shù)據(jù)類型變量=成員變量**
成員變量如果供外部使用 必須寫set/get方法