OC提供了一个self关键字,self关键字总是指向该方法的对象,self出现在某个方法体中时,它所代表的对象是不确定的,我们只需要记住它代表的只能是当前类的实例。
1、self关键字的最大作用就是让类中的一个方法访问该类的另一个方法或者变量
#import <Foundation/Foundation.h>
@interface Student : NSObject
-(void)sleep;
-(void)study;
@end
#import "Student.h"
@implementation Student
-(void)sleep{
NSLog(@"睡觉");
}
-(void)study{
NSLog(@"学累了,该睡觉了");
[self sleep];
}
@end
2、当局部变量和成员变量重名的情况下,局部变量会隐藏成员变量,如果需要在方法中使用成员变量,可以使用self关键字区分。
-(void)setName:(NSString*)_name{
self->_name = _name;
}
3、当self作为对象的默认引用使用时,程序可以像访问普通指针变量一样访问这个self引用,甚至可以把self当成普通方法的返回值。
-(id)initWithName:(NSString*)name{
self->_name = name;
return self;
}