使用其键值将数组从数组添加到另一个数组

时间:2013-05-01 09:05:42

标签: ios nsmutablearray

嗨我有两个数组,一个是解析数据,每个单元格有多个条目(FolderName& ID)我希望这些数据保存到另一个数组中,就像它存储在第一个数组中一样

   FilteredData = [[NSMutableArray alloc]initWithArray:[ParsedData ValueForKey:@"FolderName"]];

   SearchData = [[NSMutableArray alloc]initWithArray:FilteredData];

这就是我一直在尝试的,每个条目包含字典的数据都是ParsedData,而我必须复制这些项目的数据是SearchData。

包含字典的数组(解析数据)如下所示

 PARSED DATA (
    {
    CreatedBy = 1;
    FolderName = Posteingang;
    ID = 13000;
    ParentID = 0;
},
    {
    CreatedBy = 1;
    FolderName = Freigaben;
    ID = 13001;
    ParentID = 0;
},

从这个数组我需要获取FolderName和ID并将它们放入SearchData数组

SearchData (
    Posteingang;
    13000;     
    Freigaben;
    13001;
)

我希望现在问题清楚

enter image description here

3 个答案:

答案 0 :(得分:1)

检查一下,

NSMutableArray *searchData = [NSMutableArray new];
    for(NSDictionary *dict in ParsedDataArray){//here ParsedDataArray  means PARSED DATA array name
        NSDictionary *tempDict=[[NSDictionary alloc]initWithObjectsAndKeys:[dict ValueForKey:@"FolderName"],@"FolderName",[dict ValueForKey:@"ID"],@"ID" nil], 

        [searchData addObject:dict];
    }

答案 1 :(得分:1)

似乎你拼错了方法名称,它应该是:

dictionaryWithObjectsAndKeys:

注意对象之后的“s”。

答案 2 :(得分:0)

  

我想要一个包含foldername和id

的数组中的字典

所以你可以使用它来获取它:

NSMutableArray *searchData = [NSMutableArray new];
for(NSDictionary *dict in parsedDataArray){
    NSDictionary *tempDict=@{@"FolderName":dict[@"FolderName"], 
                             @"ID":dict[@"ID"]};
    [searchData addObject:tempDict];
}

编辑:

@[@"key:@"object"]是新的字典文字。

如果您使用Xcode 4.3或更早版本需要执行:

NSDictionary *tempDict=@{@"FolderName":dict[@"FolderName"], 
                                 @"ID":dict[@"ID"]};

表示,

NSDictionary *tempDict=[NSDictionary dictionaryWithObjectsAndKeys:[dict objectForKey:@"FolderName"], @"FolderName",[dict objectForKey:@"ID"],@"ID", nil];