簡體   English   中英

如何將一個NSMutableArray復制到另一個?

[英]How to copy one NSMutableArray to another?

我有一個具有名字和ID值的nsmutablearray(xmlParseArray),我只想將名字復制到另一個nsmutablearray(copyArray)中。

我怎樣才能做到這一點?

假設:您的xmlParseArray包含許多對象,這些對象均具有firstname屬性和id屬性

NSMutableArray* nameArray = [[xmlParseArray valueForKey: @"firstname"] mutableCopy];

// nameArray is an array you own.

-valueForKey:發送到數組時,將導致-valueForKey:消息發送到其每個元素,並根據返回值構造一個新數組。 -mutableCopy可確保根據您的問題將結果轉換為可變數組。

NSMutableArray *arr = [NSMutableArray arrayWithObject:[copyArray objectAtIndex:0]];

要么

[arr addObject:[copyArray objectAtIndex:0]];
  [arr addObject:[copyArray objectAtIndex:1]];

我猜你的意思是,第一個數組xmlParseArray包含NSDictionary對象的列表,每個對象都有連接到鍵“ firstname”和“ id”的對象。 實現此目的的一種方法是這樣的:

NSMutableArray *copyArray = [[NSMutableArray alloc] initWithCapacity:[xmlParseArray count]];
for(NSDictionary *dict in xmlParseArray)
    if([dict objectForKey:@"firstname"])
        [copyArray addObject:[dict objectForKey:@"firstname"]];

// ...do whatever with copyArray...
[copyArray release];
NSMutableArray *newArray = [oldArray mutableCopy];

要么

NSMutableArray *newArray = [NSMutableArray arrayWithArray:oldArray];

請注意,不會復制數組中的對象,而只是復制數組本身(保留對對象的引用)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM