gpt4 book ai didi

objective-c - 弧: how do I dealloc at the end of object life cycle?

转载 作者:行者123 更新时间:2023-12-03 17:35:41 26 4
gpt4 key购买 nike

我正在尝试了解使用 ARC 时对象的生命周期。本质上,我找不到在 .h 文件中全局声明时管理对象的最佳实践:

@interface MyClass : UIViewController {
NSArray *arrayA;
}

@property (strong) NSArray *arrayB;

现在据我了解, arrayA 和 arrayB 都被声明为强,因此当它们被设置为 = nil 或更改为指向不同的对象时,它们将被释放。当 MyClass 的对象被释放时,它们也会被释放吗?或者我是否必须覆盖 dealloc 并将它们全部设置为零?我的猜测是该属性将被释放,但 arrayA 不会。

对所有事物使用属性对我来说没有意义。对于需要从代码中的不同方法使用的保留对象,但保持其私有(private)的最佳实践是什么?

最佳答案

Do they also get released when the object of MyClass is released?

没有。当 MyClass 对象被释放时,它们将被自动释放。但这很好,这就是您想要的。

Using properties for everything doesn't make sense to me. What is the best practice for having a retained object that I need to use from different methods in the code, but keeping it private?

可以直接使用实例变量。 ARC 将放入所需的保留/释放以使一切正常工作。

关于objective-c - 弧: how do I dealloc at the end of object life cycle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9536096/

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