------Java培训、Android培训、iOS培训、.Net培训期待与您交流! -------
点语法的本质:
方法调用;当使用点语法时,编译器会自动展开成相应的setter和getter
stu.age = 10 <=> [stu setAge:10] // setter
int age = stu,age <=> int age = [stu age] // getter
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[])
{
Person *p = [Person new];
// 点语法的本质还是方法调用
p.age = 10; // [p setAge:10];
int a = p.age; // [p age];
p.name = @"Jack";
NSString *s = p.name;
NSLog(@"%@", s);
return 0;
}
死循环注意
- (void) setAge:(int)age {
// 下面的代码会引发死循环
self.age = age;
}
- (int) age {
// 下面的代码会引发死循环
return self.age;
}