什么是self
在 Objective-C 中是什么意思?我应该何时何地使用它?
是否类似于this
在Java中?
self
指的是您正在使用的当前类的实例,是的,它类似于this
在爪哇。
如果您想对该类的当前实例执行操作,则可以使用它。例如,如果您正在类上编写实例方法,并且想要调用同一实例上的方法来执行某些操作或检索某些数据,则可以使用self
:
int value = [self returnSomeInteger];
这也经常用于实例上的访问器方法(即 setter 和 getter),尤其是 setter 方法,如果它们实现额外的功能而不仅仅是设置实例变量的值,这样您就不必重复该代码当您想要设置该变量的值时,例如:
[self setSomeVariable:newValue];
最常见的用途之一self
是在类的初始化期间。示例代码可能如下所示:
- (id)init
{
self = [super init];
if(self!=nil) {
//Do stuff, such as initializing instance variables
}
return self;
}
这会调用超类的(通过super
) 初始化器,这就是链式初始化在类层次结构中发生的方式。然后将返回值设置为self
但是,因为超类的初始值设定项可能返回与超类不同的对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)