黑马程序员技术交流社区
标题:
谁能给我讲下OC中self的用法?
[打印本页]
作者:
毛小猪
时间:
2016-4-20 21:20
标题:
谁能给我讲下OC中self的用法?
谁能给我讲下OC中self的用法?
作者:
y977975092
时间:
2016-4-20 22:06
谁调用self,self代表的就是谁。
作者:
y977975092
时间:
2016-4-20 22:21
#import <Foundation/Foundation.h>
@interface Person : NSObject
@property(nonatomic,assign)int age;//属性
-(void)run;//方法的声明
@end
@implementation Person //方法的实现
-(void)run{
NSLog(@"self.age=%d",self.age);//谁调用self,self就代表谁
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *p=[Person new];//对象方法创建对象
[p setAge:10];//设定值 age=10
//正常情况下是这样的 [p age]读取age的值
NSLog(@"age=%d",[p age]); // age=10
[p run]; //这里打印出来显示 self.age=10,age为什么会等于10呢? 这就说明self代表的是对象p,自然而然,"谁调用,就代表谁"这句话的意思就显而易见了。
}
return 0;
}
复制代码
作者:
缘之有缘
时间:
2016-4-20 22:44
前来学习
作者:
king、小白
时间:
2016-4-21 00:10
self总是指向该方法的调用者(对象或类),当self出现在实例方法中的时候,self就代表调用该方法的对像;当self出现在类方法中的时候,self就代表调用该方法的类。
作者:
yuanmeng
时间:
2016-4-21 09:12
谁调用self就代表谁,类似于this的作用。
作者:
Latinno
时间:
2016-4-22 00:04
self代表当前调用方法的对象
想想方法中调用self能够造成死循环的例子就明白了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2