我是Objective-C的新手,我想知道如何从NSDictionary填充我的NSArray?
我的NSDictionary看起来像这样:
user = {
items = (
{
nom = nom1;
prenom = prenom1;
},
{
nom = nom2;
prenom = prenom2;
},
{
nom = nom3;
prenom = prenom3;
}
);
};
它基于Json,我希望我的数组如下:
"prenom1.nom1", "prenom2.nom2", "prenom3.nom3"
我尝试过这样的事情
array = [self.users objectForKey:@"user"]
但结果与我的字典相同。
答案 0 :(得分:2)
NSDictionary *users = // your dictionary
NSArray *items = users[@"items"];
NSMutableArray *names = [NSMutableArray array];
for (NSDictionary *item in items) {
NSString *name = [NSString stringWithFormat:@"%@.%@", item[@"prenom"], item[@"nom"]];
[names addObject:name];
}
使用您提供的字典,会将您想要的格式的所有名称添加到names
数组中。
答案 1 :(得分:2)
您可以使用enumerateObjectsUsingBlock
-
NSArray *itemsArray=[user objectForKey:@"items"];
NSMutableArray *outputArray=[[NSMutableArray alloc]init];
[itemsArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[outputArray addObject:[NSString stringWithFormat:@"%@.%@",[obj objectForKey:@"prenom"],[obj objectForKey:@"nom"]]];
}];
outputArray
将以所需格式包含您的姓名