gpt4 book ai didi

ios - 在 ARC 中释放强引用

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:27:47 25 4
gpt4 key购买 nike

我的项目启用了 ARC。我有一个类是 NSObject 的直接子类,我的类有一个 NSArray(强引用)。我怎样才能释放我的阵列?

我的理解

  1. In ARC no need of releasing objects

  2. set nil to my NSArray(Strong reference) in dealloc method

  3. set nil to my NSArray(Strong reference) in viewDidUnload incase of view controller

这是释放我的 NSArray 的正确方式吗?如果不是,那么正确的方法是什么?

最佳答案

所以首先,viewDidUnload 不再使用,所以这不是一个选项。其次,您不需要在释放类时手动清除类的实例变量,除非它们需要一些特殊的清理。当一个对象被释放时,它释放了它所有实例变量的所有权,所以只要没有其他东西通过强引用指向它们,它们就会自动释放。因此,正如您所问,正确的方法是什么都不做。一旦您的对象被解除分配,该数组将自行解除分配。

也就是说,如果你真的想要,你可以像这样清除指向数组的指针:

myArray = nil;

如果没有其他强引用指向它,这将释放数组,这将释放数组中没有其他强引用指向它们的任何元素。

关于ios - 在 ARC 中释放强引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25377735/

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