gpt4 book ai didi

ios - 使用类辅助方法或使用 ARC 的 mutableCopy 创建可变对象

转载 作者:行者123 更新时间:2023-11-29 02:51:08 25 4
gpt4 key购买 nike

据我所知,使用诸如 arrayWithArray 之类的辅助方法创建 NSMutableArray 会将数组和可变数组都添加到当前的自动释放池中。使用mutableCopy,数组被复制添加到自动释放池中,但生成的NSMutableArray却没有。如果没有 ARC,这是一个显着的差异。

但是在使用ARC时,除了上面描述的之外还有什么与ARC无关的区别吗?我见过使用这两种方式的代码。当 ARC 打开时,是否有关于如何创建不可变对象(immutable对象)的可变版本的既定最佳实践,为什么会这样?

最佳答案

由于 arrayWitharray 在当前自动释放池中添加了两个对象,但后者没有。因此,由于自动释放池的耗尽,第一个的性能略有下降。所以使用下面的后一种。在弧形或非弧形中将不可变数组转换为可变数组的简单且最好的方法:-

  NSMutableArray *array=[yourArray 
mutableCopy];

关于ios - 使用类辅助方法或使用 ARC 的 mutableCopy 创建可变对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24515907/

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