我有一个具有值firstname和id的nsmutablearray(xmlParseArray),我想只将firstname复制到另一个nsmutablearray(copyArray)。
我该怎么做?
答案 0 :(得分:2)
假设:您的xmlParseArray
包含多个对象,所有对象都具有firstname
属性和id属性
NSMutableArray* nameArray = [[xmlParseArray valueForKey: @"firstname"] mutableCopy];
// nameArray is an array you own.
发送到数组时, -valueForKey:会将消息-valueForKey:
发送到其每个元素,并从返回值构造一个新数组。 -mutableCopy
确保根据您的问题将结果转换为可变数组。
答案 1 :(得分:1)
NSMutableArray *arr = [NSMutableArray arrayWithObject:[copyArray objectAtIndex:0]];
或
[arr addObject:[copyArray objectAtIndex:0]];
[arr addObject:[copyArray objectAtIndex:1]];
答案 2 :(得分: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];
答案 3 :(得分:0)
NSMutableArray *newArray = [oldArray mutableCopy];
或
NSMutableArray *newArray = [NSMutableArray arrayWithArray:oldArray];
请注意,数组中的对象不会被复制,只是数组本身(维护对象的引用)。