gpt4 book ai didi

objective-c - ObjC 中的 self 是什么?我应该什么时候使用它?

转载 作者:太空狗 更新时间:2023-10-30 03:39:21 25 4
gpt4 key购买 nike

self 在 Objective-C 中是什么意思?我应该何时何地使用它?是不是类似于Java中的this

最佳答案

self 指的是您正在使用的当前类的实例,是的,它类似于 Java 中的 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 class)的(通过 super)初始化器,这就是类层次结构中链式初始化发生的方式。然而,返回值随后设置为 self,因为父类(super class)的初始化程序可能返回与父类(super class)不同的对象。

关于objective-c - ObjC 中的 self 是什么?我应该什么时候使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1311507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com