gpt4 book ai didi

objective-c - 如果将自动释放对象标记为自动释放会发生什么

转载 作者:可可西里 更新时间:2023-11-01 03:33:14 25 4
gpt4 key购买 nike

我的问题听起来可能很愚蠢,但我想知道如果我将自动释放对象标记为自动释放会发生什么。它会被释放两次吗?或者什么都没有发生?例如:

 Obj * obj = [[Obj create] autorelease];

假设 [Obj create] 返回一个自动释放的对象。
如果我添加另一个自动释放,会发生什么?

最佳答案

是的,发送两次autorelease会释放对象两次。如果您的 create 方法返回一个自动释放的对象,而您向它发送另一个 autorelease 消息,您的应用将会崩溃,因为您将释放一个已释放的对象。

话虽如此,你为什么不使用新的Automatic Reference Counting (ARC)呢? ?您不必再担心(自动)释放对象。

关于objective-c - 如果将自动释放对象标记为自动释放会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12486624/

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