【问题标题】:Xcode - How to combine key and value into single array?Xcode - 如何将键和值组合成单个数组?
【发布时间】:2014-12-30 16:54:37
【问题描述】:

我有一个带有键和值的 JSON 数组被拉入 XCode。我可以拿到钥匙。我可以得到值。但是有没有一种简单的方法可以将它们组合成一个数组?

以下代码有效,但我最终得到了两个单独的数组(通道和通道键)。

这似乎是一种不优雅的方式来创建一个同时包含键和值的数组。

-(void) convertArray : (NSMutableArray *)data{

    // Set data
    NSMutableDictionary *dic = [data objectAtIndex:0];

    for (NSString *key in [dic allKeys]) {
        [channels addObject:[dic objectForKey:key]];
    }

    // Set Key Array

    NSMutableDictionary *dic3 = [data objectAtIndex:0];
    NSArray *keys = [dic3 allKeys];

    [channelKeys addObjectsFromArray: keys];

}

【问题讨论】:

  • channelschannelKeys 应该是同一个数组吗?看起来您正试图以[value1, value2, value3, key1, key2, key3] 的形式存储数组。这是你的意图吗?
  • 这似乎是一件愚蠢的事情,而不是简单地将值保存在字典中。 (顺便说一句,“JSON 数组”不包含键和值——这是一个“JSON 对象”。)

标签: ios arrays xcode nsarray


【解决方案1】:

如果您尝试创建 [key1, value1, key2, value2, key3, value3...] 形式的数组,请尝试以下操作(请记住,键不限于 NSStrings)

for (id key in [dic allKeys]) {
    [resultArray addObject:key];
    [resultArray addObject:[dic objectForKey:key]];
}

【讨论】:

  • 作为参考,您可以简单地执行“for (id key in dic)”。默认情况下,对字典进行迭代会返回键。
猜你喜欢
  • 1970-01-01
  • 2015-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-06
相关资源
最近更新 更多