Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.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_Ios_Xcode_Nsmutablearray - Fatal编程技术网

IOS:如何使用NSMutableArray

IOS:如何使用NSMutableArray,ios,xcode,nsmutablearray,Ios,Xcode,Nsmutablearray,在我的代码中,我必须在另一个数组中存储一个数组: 最好的办法是什么 第一: NSArray *arrayTemp = myArray; 第二: NSMutableArray *arrayTemp = [[NSMutableArray alloc]init]; [arrayTemp addObjectsFromArray:myArray]; ...instruction.... [arrayTemp release]; 通过执行arrayTemp=myArray,可以将arrayTemp声明

在我的代码中,我必须在另一个数组中存储一个数组: 最好的办法是什么

第一:

NSArray *arrayTemp = myArray;
第二:

NSMutableArray *arrayTemp = [[NSMutableArray alloc]init];
[arrayTemp addObjectsFromArray:myArray]; 
...instruction....
[arrayTemp release];

通过执行
arrayTemp=myArray
,可以将
arrayTemp
声明为指向现有数组
myArray
的新指针。这不是副本(如果在myArray[42]中放入X,arrayTemp[42]也将是X)

第二个变量看起来像是在复制数组,但当您似乎需要“按值”复制时,数组的值仍然是通过引用(按指针)复制的

您应该尝试的只是:

NSArray *arrayCopy = [myArray copy];
注意:从内存管理的角度来看,这相当于
retain
alloc/init
:使用后应释放
arrayCopy