Ale*_*ski 14
self指的是您正在使用的当前类的实例,是的,它this在Java中是类似的.
如果要对该类的当前实例执行操作,请使用它.例如,如果要在类上编写实例方法,并且要在同一实例上调用方法来执行某些操作或检索某些数据,则可以使用self:
int value = [self returnSomeInteger];
Run Code Online (Sandbox Code Playgroud)
这通常也用于实例上的访问器方法(即setter和getter),特别是使用setter方法,如果它们实现额外的功能而不是仅仅设置实例变量的值,那么你就不必重复代码和当您想要设置该变量的值时,例如:
[self setSomeVariable:newValue];
Run Code Online (Sandbox Code Playgroud)
最常见的用途之一self是在类的初始化期间.示例代码可能如下所示:
- (id)init
{
self = [super init];
if(self!=nil) {
//Do stuff, such as initializing instance variables
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
这将调用超类的(via super)初始化程序,这是在类层次结构中进行链接初始化的方式.self但是,返回的值设置为,因为超类的初始值设定项可以返回与超类不同的对象.
| 归档时间: |
|
| 查看次数: |
1140 次 |
| 最近记录: |