A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© alanwangke213 中级黑马   /  2015-8-3 13:24  /  642 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

类的属性(实例变量)默认属性是@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不会调错。

1 个回复

倒序浏览
围观学习!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马