黑马程序员技术交流社区

标题: OC基础-self关键字 [打印本页]

作者: alanwangke213    时间: 2015-8-3 13:24
标题: OC基础-self关键字
类的属性(实例变量)默认属性是@protect。属性是私有的,外界不能访问。虽然加上了@public后可以访问,但是存在数据安全隐患,可能造成误用。
在OC中提供了self关键字。

self的应用场景:
1.用在类方法中
2.用在对象方法中
3.访问成员变量
4.self在OC的内存管理中的特殊应用(暂时未学)

self在对象方法中使用,self指的是调用当前对象方法的对象。例如 [self run];
用NSLog(@"%p",slef);可以打印出调用当前对象方法的对象。

self在类方法中使用,self指代的是当前的类。


Person *p = [Person new];   //定义一个对象p
[p class];    //返回当前类
NSLog(@"%p",[p class]);  //打印出p对象isa指针指向的类,和类方法中打印的self相同

self修饰变量
    self->speed = speed;//如果不加self就是访问的局部变量,加上self就是访问的类的实例变量

self 使用总结:
1.不管是哪个对象或者类调用当前方法,self就代表的是调用该方法的对象或者类
2.self在对象方法中,self代表当前对象
3.self在类方法中,self代表当前类
格式:[self  方法名称];调用其他类/对象方法
注意:同时有对象方法和类方法存在时,self不会调错。

作者: 我丶就这样    时间: 2015-8-3 16:46
围观学习!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2