《Objective-c》-(OC的点语法)

点语法

1.点语法与setter和getter有关

Person *p = [Person new];

 

[p setAge : 10];    // 等价于   p.age = 10;

 

int a = [p age];    // 等价于  int a = p.age;

2.说明:

p.age = 10; 并非访问p对象的成员变量 _age;即使是访问p对象的成员变量_age也应该写成p -> _age;此句正确的含义是调用了p对象的setAge:方法。

3.p.age = 10;与p.age的区别:

如果后面有赋值,即:p.age = 10;就是调用了p对象的setAge:方法;没有赋值,即:p.age;就代表调用了p对象的getAge方法:(int)age;

4.OC中直接访问成员变量的方式只有用箭头   ->  ,点语法不代表直接访问对象的成员变量;

5.点语法的真实作用剖析

  • 其实点语法就是方法的调用

  • 当使用点语法时,编译器就会自动展开成相应的方法

6.点语法的使用注意点

点语法使用不当会引发死循环:

 
 
 
 
 
posted @ 2015-03-11 21:53  深秋的露水  阅读(238)  评论(0编辑  收藏  举报