Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从NSDictionary中填充NSArray_Ios_Objective C_Json_Nsarray_Nsdictionary - Fatal编程技术网

Ios 从NSDictionary中填充NSArray

Ios 从NSDictionary中填充NSArray,ios,objective-c,json,nsarray,nsdictionary,Ios,Objective C,Json,Nsarray,Nsdictionary,我是Objective-C新手,我想知道如何从NSDictionary中填写NSArray 我的字典是这样的: user = { items = ( { nom = nom1; prenom = prenom1; }, { nom = nom2; prenom = preno

我是Objective-C新手,我想知道如何从NSDictionary中填写NSArray

我的字典是这样的:

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"]
但是结果和我字典里的一样

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];
}
使用您提供的字典,这将以您想要的格式将所有名称添加到
名称
数组中


使用您提供的字典,这将以您想要的格式将所有名称添加到
名称
数组。

您可以使用
EnumerateObjectsSusingBlock
-

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"]]];
}];

输出阵列
将以所需格式包含您的姓名

您可以使用
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
将以所需格式包含您的姓名

我建议您学习objective-C基础知识。数组有add Object,字典有ObjectForKey。我建议您学习objective-C基础知识。数组有add对象,字典有ObjectForKey,效果很好!非常感谢。我得到了我需要的结果:)虽然@Fogmeister的答案稍微快一点,但区块答案很好。看,它工作得很好!非常感谢。我得到了我需要的结果:)虽然@Fogmeister的答案稍微快一点,但区块答案很好。看见