gpt4 book ai didi

objective-c - 将 init 中的 self 分配给不同的指针

转载 作者:行者123 更新时间:2023-12-03 17:38:00 24 4
gpt4 key购买 nike

当我不将 self 分配给它的 super init 而是分配给一个完全不同的指针(甚至是静态指针)时,是否有任何暗示? arc 会正常运行吗?这样的行动会产生什么影响?

static NSObject * StaticObject;

- (instancetype)init {

self = StaticObject;
if (self) {

}
return self;
}

最佳答案

ARC 表现得很好。初始化 StaticObject 时会遇到问题。你可以做类似的事情

if (StaticObject == nil) {
self = [super init];
StaticObject = self;
} else {
self = StaticObject;
}

我认为 NSNull 类会做类似的事情。

假设 StaticObject 不为 nil 并且已初始化,如果您修改 StaticObject,将会引起困惑,因为其他人可能持有对它的引用。

关于objective-c - 将 init 中的 self 分配给不同的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40180139/

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