通过过滤一些值从现有创建新字典

问题描述:

好的,这是我的问题。通过过滤一些值从现有创建新字典

我有对象数组(对象类)添加到字典。每个包含fullName和其他一些属性。我创建通过循环生成密钥字典由

NSString -stringWithFormat:@"person%d" 

只是为了便于让说我的字典里看起来像

NSDictionary *[email protected]{@"person1": @"Ilena Jennifer DCruz", @"person2":@"James Bond", @"person3":@"Skylark", @"person4":@"Xan Xiaa Zuang Ming"}; 

现在,我需要对每个人只有名字的字典。

我该怎么做?

+0

你想要做的,如果你的数据是结构良好为什么。您可以通过收集来枚举名称。如果这个过程是重复的,可以考虑为人员制作一个模型类。作为一个注释,你的字典结构可以改进,如果一个人的标识符将是“person1”,“person2”,你可能只需要一个数组。 – Anupdas 2013-03-25 06:13:11

+0

@Anupdas:我从JSON获得 – 2013-03-25 16:49:47

试试这个:

NSDictionary *[email protected]{@"person1": @"Ilena Jennifer DCruz", 
        @"person2":@"James Bond", 
        @"person3":@"Skylark", 
        @"person4":@"Xan Xiaa Zuang Ming" 
        }; 

NSMutableDictionary *firstNameDict=[NSMutableDictionary new]; 
for (NSString *key in dict) { 
    [firstNameDict setObject:[dict[key]componentsSeparatedByString:@" "][0] 
         forKey:key]; 
} 
NSLog(@"->%@",firstNameDict); 

输出:

 
->{ 
    person1 = Ilena; 
    person2 = James; 
    person3 = Skylarl; 
    person4 = Xan; 
}