gpt4 book ai didi

objective-c - 当你运行 self=[super init] 并且它返回 nil 时,正确的 react 是什么?

转载 作者:搜寻专家 更新时间:2023-10-30 20:03:53 25 4
gpt4 key购买 nike

我在 may 类的实例中运行这段代码:

-(id)init {
self = [super init];
if (self) {
// my init code here
}
return self;
}

...然后 self 返回 nil。我知道这是正确的程序,应该这样做。但是如果 self 返回 nil,我的 react 应该是什么?发出程序失败并正在终止的警报?忽略它 ?或者是否有推荐的程序来安全地继续?

最佳答案

我知道这听起来是递归的,但我认为在这种情况下最好的做法是返回 nil。

当从初始值设定项返回 nil 值时,您无法真正预测对象的状态,因此最安全的做法是处置该对象。在初始化器中,这意味着只将 nil 返回给调用者。

在 alloc]init]ing 时,我总是觉得这种情况会导致泄漏,所以我一直很犹豫是否要盲目地调用 alloc]init]。

关于objective-c - 当你运行 self=[super init] 并且它返回 nil 时,正确的 react 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7225164/

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