2012-06-27 67 views

回答

10

可以有公司招聘

  1. array1 = [array2 copy];

  2. 使用initWithArray方法有幾種方法。您可以使用initWithArray:copyItems:方法。 (這如果NSMutableArray

4

可以使用

NSArray *_newArray = [NSArray arrayWithArray:_oldArray]; 

,或者如果你喜歡更好,你可以使用:

NSArray *_newArray = [[NSArray alloc] initWithArray:_oldArray]; 

(在這種情況下,第一目標數組將不會被複制,即只獲得第二個保留前鋒NSArray,您可以從任何數組中移除該對象,但不會影響其他數組,但是如果在任何NSArray中更改任何對象,它將在第因爲新陣列和新陣列都與相同的對象實例一起工作)。

如果您的計劃是在新陣列中創建另一箇舊對象實例:

NSArray *_newArray = [[NSArray alloc] initWithArray:_oldArray copyItems:true]; 

,如果你使用的是ARC,你將不需要到別的做任何事情,如果你不是,在這兩種-initWithArray:的情況下,或-initWithArray:copyItems:你應該使用[_newArray release];釋放數組你不想以後再次使用。

+0

謝謝,copyItems:是我所需要的。對於其他人,請記住複製的對象應符合NSCopying協議。 –

相關問題