gpt4 book ai didi

objective-c - 初始化方法中的 [self release]、[self dealloc] 或 [super dealloc]?

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

我刚刚一直在阅读有关如何正确地在 init 方法中失败的信息,并且文档似乎彼此不同意。一个建议抛出异常,而其他建议清理并返回 nil。当前的最佳做法是什么?

最佳答案

我相信普遍接受的做法是在失败时返回 nil。但是你确实想释放 self 以避免泄漏:

-(id)init
{
if (self = [super init]) {
...
if (thingsWentWrong) {
[self release];
return nil;
}
...
}
return self;
}

关于objective-c - 初始化方法中的 [self release]、[self dealloc] 或 [super dealloc]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/907311/

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