Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 构建nsmutablearray后,我是否应该将其转换为nsarray以提高性能?_Ios_Objective C - Fatal编程技术网

Ios 构建nsmutablearray后,我是否应该将其转换为nsarray以提高性能?

Ios 构建nsmutablearray后,我是否应该将其转换为nsarray以提高性能?,ios,objective-c,Ios,Objective C,想知道,在构建nsmutablearray之后,我是否应该将其转换为nsarray以提高性能?如果我打算保留并使用该阵列一段时间。不。转换本身将花费时间和CPU周期,您将不会从转换中获得任何收益。我实际上会说这取决于时间。如果我在一个方法中创建了一个NSMutableArray并需要返回它,那么通常,除非调用方需要能够直接修改数组值,否则为了简单性和减少应用程序的内存占用,我会将NSMutableArray作为NSArray返回 但是,如果我在当前方法中创建NSMutableArray以供直接使

想知道,在构建nsmutablearray之后,我是否应该将其转换为nsarray以提高性能?如果我打算保留并使用该阵列一段时间。

不。转换本身将花费时间和CPU周期,您将不会从转换中获得任何收益。

我实际上会说这取决于时间。如果我在一个方法中创建了一个NSMutableArray并需要返回它,那么通常,除非调用方需要能够直接修改数组值,否则为了简单性和减少应用程序的内存占用,我会将NSMutableArray作为NSArray返回


但是,如果我在当前方法中创建NSMutableArray以供直接使用,那么将其转换为NSArray没有任何好处。

将其从
NSMutableArray
转换回
NSArray
不会减少内存占用;对象将保持
NSMutableArray
,只是调用方不知道它(除非他们主动尝试并找到)。还有谁会说
NSMutableArray
“成本”比
NSArray
还要高?我对此表示怀疑。