Objective c 如何将特定数组对象从一个数组复制到另一个数组?
我有一个NSMutableArray,有两个字段:name和number。数组的名称为“紧急”,它包含:Objective c 如何将特定数组对象从一个数组复制到另一个数组?,objective-c,arrays,Objective C,Arrays,我有一个NSMutableArray,有两个字段:name和number。数组的名称为“紧急”,它包含: urgency: "ADMIT", urgencyId: 5 我的问题是如何在临时数组中只添加紧迫性?我不想添加urgencyID。它看起来像是一个NSDictionary,或者您的数组包含dictionary的对象,其中有两个键,分别是urgencyID和urgencyID 您可以通过[…valueForKey:@“紧迫性”] 编辑: 我认为这(我试图复制你所说的)可能会对你有所帮助:
urgency: "ADMIT",
urgencyId: 5
我的问题是如何在临时数组中只添加紧迫性?我不想添加urgencyID。它看起来像是一个
NSDictionary
,或者您的数组包含dictionary的对象,其中有两个键,分别是urgencyID
和urgencyID
您可以通过[…valueForKey:@“紧迫性”]
编辑:
我认为这(我试图复制你所说的)可能会对你有所帮助:
NSString *keyUrgency = @"urgency";
NSString *keyUrgencyId = @"urgencyId";
NSDictionary *u1 = @{keyUrgency: @"u1_urgency",
keyUrgencyId: @"u1 id"};
NSDictionary *u2 = @{keyUrgency: @"u2_urgency",
keyUrgencyId: @"u2 id"};
NSDictionary *u3 = @{keyUrgency: @"u3_urgency",
keyUrgencyId: @"u3 id"};
NSArray *array = @[u1, u2, u3];
NSLog(@"array : %@",array);
//you want only urgencies in array
NSArray *urgencies = [array valueForKey:keyUrgency];
NSLog(@"urgencies : %@",urgencies);
可以在一个数组中保存这样的所有值
NSArray *allUrgency = [dict valueForKeyPath:@"urgency"];
您可以执行以下操作,即:
是nsmutablearray还是nsmutabledictionary?您还没有很清楚地解释您的问题或数据结构。发布到目前为止您所拥有的代码,它可能会为您说明Hi Firdos的可能重复。如果数组包含NSDictionary,则为[dict valueForKeyPath:@“紧迫性”];这是NSString而不是NSArray。
valueForKeyPath:
返回id
而不是NSString
是的,我同意,但对于上面的紧急情况:“承认”是字符串。您好,欢迎回复,但是我怎么才能得到所有的紧急情况和什么是“dict”?关键路径之间必须有一个点,像@“关键。紧迫性
但我如何才能获得所有的“紧迫性”只有20个紧急情况?这将返回数组。您好,Anoop可以准确地将代码写入我做过的相同的代码格式,但没有得到成功,正如bhargavi的回答所说。这是正确的Anoop,但我的所有值都已准备好存储到该数组中的一个可变数组中。这两个东西都存在,因此我只需要“紧急情况”另一个字符串数组中的应用程序崩溃:(由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[Emergency CountByEnumerating WithState:objects:count::]:无法识别的选择器发送到实例
NSMutableArray *tmp = [[NSMutableArray alloc] init];
for(NSArray *dim1Array in yourMultidimensionalArray)
{
for(id obj in dim1Array)
{
if([obj valueForKey:@"urgency"])
{
[tmp addObject:dim1Array];
break; // I assume you only want to add it once
}
}
}