通过过滤某些值从现有创建新词典

时间:2013-03-25 05:59:28

标签: ios objective-c

好的,这是我的问题。

我将对象数组(Person类)添加到字典中。每个包含fullName和其他一些属性。我通过循环生成键来创建字典

NSString -stringWithFormat:@"person%d"

为了方便起见,我可以说我的字典看起来像

NSDictionary *dict=@{@"person1": @"Ilena Jennifer DCruz", @"person2":@"James Bond", @"person3":@"Skylark", @"person4":@"Xan Xiaa Zuang Ming"};

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

我怎么能拥有它?

1 个答案:

答案 0 :(得分:11)

试试这个:

NSDictionary *dict=@{@"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; 
 }