本文是觀看了 @M了個J 視頻 整理的一些學習資料 在這裏感謝大神[(@M了個J) 大神博客鏈接的地址爲 http://www.cnblogs.com/mjios/] 在這裏謝謝大神,同時也謝謝那些無私奉獻知識的人 如果說我比別人看得更遠些,那是因爲我站在了巨人的肩上 --牛頓
類的.h中 方法名( :號也是方法名的一部分)
- (void)setAge:(int)newAge; //方法名是setAge:
-(int)age; //方法名是age
-(void)setAge:(int)newAge andNo:(int)no; //方法名是setAge:andNo:
類的創建、點語法的使用
Person * person = [ [Person alloc] init];
person.age = 10; //相當於[person setAge:10] //當. 在等號的左邊時 編譯器自動檢查調用set方法 編譯器默認執行的set方法名爲setAge
int age = person.age; //等效於[person age]; //當. 在等號的右邊時 編譯器自動檢查調用get方法 編譯器默認執行的get方法名爲age
因此person.age訪問的是成員變量的set方法並不是該成員變量 所以OC中通常把成員變量聲明爲_變量名(如_age) 這樣我們就可以很清楚的知道person.age 不是訪問成員變量 因爲我們的成員變量名爲_age
-(void)setAge:(int)newAge{
_age =newAge;
//self.age = newAge; //不可以這樣寫 死循環 setAge調用setAge 相當於 [self setAge:newAge] 無限調用set方法
}
//get方法 OC中 成員變量的get方法名與成員變量名相同
- (int)age{
NSLog(@"調用了age 方法: %i",age);
return _age;
//return self.age; //不可以這樣寫 死循環 age調用age 相當於 [self age] 無限調用get方法
}