黑马程序员技术交流社区
标题:
self 小结
[打印本页]
作者:
hejianchun
时间:
2015-9-23 16:00
标题:
self 小结
self
谁调用当前方法
,self
就代表谁
self
在对象方法中
,self
代表当前对象
self
在类方法中个
,self
代表类
[self
方法名称
];
调用其它方法
(
类方法
/
对象方法
)self
可以简单理解为指自己
同时有对象方法和类方法存在的时候,self不会调错
self
在对象方法中 可以利用
self->
属性名称的方式访问成员变量
应用场景:当存在局部变量名和成员变量名同名的时候
还有一点就是在OC中点语法里说明了一下 self的使用注意:
1
)
OC
中有个
self
关键字,作用跟
this
关键字类似。我这么说完,可能有人就会想这样写
OC
的
set
方法了
- (
void
)setAge:(
int
)newAge {
self
.
age
= newAge;}
这绝对是错误的,会造成死循环。因为我在前面已经说过了,
OC
点语法的本质是方法调用,所以上面的代码相当于
- (
void
)setAge:(
int
)newAge {
[
self
setAge
:newAge];}
下面的使用方式也是一个死循环:
2
)在
get
方法中,
return self.age;
相当于是
[self age];
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2