OC中的点语法

前面说过了属性,而说了属性就不得不提到,点语法

在类内定义一个实例变量

{

NSInteger _age;

}

类外,这样调用:person.age = 10;

编译报错:Propert 'age' not found on object of type 'person *'


如果我们添加方法 :

- (void)setAge:(NSInteger)age;     编译便不会报错

类外我们继续调用:NSLog(@"age = %ld",person.age);

编译报错:Propert 'age' not found on object of type 'person *’

添加方法  - (NSInteger)age; 编译便不会报错


当编译遇到点语法时,编译器就会将点语法转为对应的setter和getter方法


在setter或者getter方法中使用点语法

- (void)setAge:(NSInteger)age

{

self.age = age;  //等价于  [self setAge:age];  进入死循环

}

在get方法中,return self.age;相当于是[self age];

你可能感兴趣的:(OC中的点语法)