簡體   English   中英

從NSDictionary填充NSArray

[英]fill NSArray from NSDictionary

我是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"]

但結果與我的字典相同。

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數組。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM