gpt4 book ai didi

objective-c - dealloc : release then set to nil? 中的属性或简单地释放

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

我是 Objective-C(和 stackoverflow)的新手,我对属性方面的最佳实践有些了解。

我的理解是,当你完全完成一个属性时,你可以通过释放它们然后立即设置为 nil 来避免错误,这样后续消息也会返回 nil 而不是异常。

[myProperty release];
myProperty = nil;

但是,当涉及到“复制”和“保留”属性的 dealloc 时,是否需要同时执行这两项操作?或者做一个简单的..

[myProperty release];

.. 剪了吗?另外,我不需要在 dealloc 中释放 assign 属性是否正确?

谢谢!

最佳答案

发布,但不要设置为零。通过你的@synthesized setter 设置为 nil:

self.myProperty = nil

将释放您的旧值作为重新分配的一部分(尽管如评论中所述,可能会产生不需要的副作用),但只需将 nil 分配给您的成员变量:

myProperty = nil

不会。

[myProperty release]

就是你所需要的。

(关于“分配”属性,您是正确的。)

关于objective-c - dealloc : release then set to nil? 中的属性或简单地释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3402234/

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