一万哪、首先要了解實例變量和成員變量的區(qū)別:
@interface MyViewController : UIViewController{
//1.基本數(shù)據(jù)類型變量
int num;
//2.實例變量
UIButton *button;
}
@end
基本數(shù)據(jù)類型變量默認是protected脐恩,不會生成get镐侯、set方法,非子類對象不可訪問驶冒。
如果變量的數(shù)據(jù)類型是一個類苟翻,則稱這個變量是實例變量。不可被外部訪問骗污,即成員變量也稱私有變量崇猫。
實際上成員變量包括基本數(shù)據(jù)類型變量和實例變量。
二需忿、屬性變量
@interface MyViewController : UIViewController{
//1.基本數(shù)據(jù)類型變量
int num诅炉;
//2.實例變量
UIButton *button;
}
//聲明屬性
@property (nonatomic, strong) NSString *name;
@end
默認屬性會生成_name變量蜡歹,并自動生成get、set方法涕烧。
把屬性定義在.h文件可被外界訪問月而,定義在.m文件不可被外界訪問。
屬性可用_name及self.name訪問议纯。self.name其實是調(diào)用name的get/ set方法父款。
成員變量不可self.調(diào)用,因為成員變量沒有生成get瞻凤、set方法铛漓。
(self.)如果點表達式出現(xiàn)在等號 = 左邊,該屬性名稱的setter方法將被調(diào)用鲫构。如果點表達式出現(xiàn)在右邊浓恶,該屬性名稱的getter方法將被調(diào)用。