前面說過了屬性,而說了屬性就不得不提到,點語法
在類內(nèi)定義一個實例變量
{
NSInteger _age;
}
類外,這樣調(diào)用:person.age = 10;
編譯報錯:Propert 'age' not found on object of type 'person *'
如果我們添加方法 :
- (void)setAge:(NSInteger)age; ? ? 編譯便不會報錯
類外我們繼續(xù)調(diào)用:NSLog(@"age = %ld",person.age);
編譯報錯:Propert 'age' not found on object of type 'person *’
添加方法??- (NSInteger)age; 編譯便不會報錯
當編譯遇到點語法時,編譯器就會將點語法轉(zhuǎn)為對應(yīng)的setter和getter方法
在setter或者getter方法中使用點語法
- (void)setAge:(NSInteger)age
{
self.age = age;??//等價于??[self setAge:age];??進入死循環(huán)
}
在get方法中,return self.age;相當于是[self age];