如何在NSMutableArray中添加NSMutableDictionary值

时间:2017-11-23 06:05:58

标签: ios swift3 nsmutablearray nsmutabledictionary

我有一个NSMutableDictionary具有不同的键和值。我需要在Swift3中的NSMutableArray中保存所有键值。

这是我的NSMutableDictionary

  {
    92 =     (
        "<Group.VideoRange: 0x6040003a09a0>",
        "<Group.VideoRange: 0x6040003a0c40>"
    );
    93 =     (
        "<Group.VideoRange: 0x6040003a0540>"
    );
  }

注意:这里92和93是我的字典键。

下面是我的代码,用于在数组中添加字典的所有值。

for value in videoRangeDic.allValues{

    arrVideoRange.add(value)
}

作为输出,我低于数组值:

(
        (
        "<Group.VideoRange: 0x6040003a0540>"
    ),
        (
        "<Group.VideoRange: 0x6040003a09a0>",
        "<Group.VideoRange: 0x6040003a0c40>"
    )
)

相反,我希望我的输出应该像:

    (
        "<Group.VideoRange: 0x6040003a0540>",
        "<Group.VideoRange: 0x6040003a09a0>",
        "<Group.VideoRange: 0x6040003a0c40>"
    )

原因是字典在数组(例如)中保存值,所以我只需要删除这个数组。任何人都可以帮我解决我的问题,而无需创建任何新阵列。谢谢!

3 个答案:

答案 0 :(得分:1)

您可以通过单行代码获取您的dic的所有价值

print("values array : \(videoRangeDic.map{$0.value}.flatMap{$0})")

答案 1 :(得分:0)

如果您的arrVideoRange NSMutableArray是这样的

var arrVideoRange : NSMutableArray = []

然后尝试这个

for value in videoRangeDic.allValues{

    arrVideoRange.addObjects(from: value as [Any])

}

答案 2 :(得分:0)

您可以使用flatMap将字典数组展平为数组

let array = groupDicts.flatMap { $0.values.joined() }

or

let newArray = Array(dicts.lazy.flatMap { $0.values }.joined())