gpt4 book ai didi

ios - Autorelease 用法说明

转载 作者:行者123 更新时间:2023-11-29 13:44:46 25 4
gpt4 key购买 nike

在我使用 autorelease 的大部分代码中,对象最终从函数返回。显然 release 不能在此时调用,而 autorelease 是要走的路。然而,在对象将要传递给另一个将保留它的对象的情况下,使用自动释放是否同样有效?

例如

-(void)foo
{
SomeClass *someObject = [[[SomeClass alloc] init] autorelease];
//Do some things
self.someOtherClass.someProperty = someObject;
}

将对象分配给 someProperty 后释放对象有什么实际区别吗:

-(void)foo
{
SomeClass *someObject = [[SomeClass alloc] init]];
//Do some things
self.someOtherClass.someProperty = someObject;
[someObject release];
}

是否存在后者比前者更可取的情况?

最佳答案

两者都可以接受,但建议您使用发布版本以避免 memory spikes an other problems .

在这里发布是可以接受的,因为您可以假设对象的接收者将保留它,如果以后需要的话。因此,您可以在收到后立即安全地发布。

关于ios - Autorelease 用法说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7838555/

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