如何在 NSMutableArray 中添加 NSMutableDictionary 值

How to add NSMutableDictionary values in NSMutableArray

我有一个 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>"
    )

原因是字典在像()这样的数组中保存值,所以我只需要删除这个数组。任何人都可以在不创建任何新数组的情况下帮助我解决我的问题。谢谢!

如果你的arrVideoRange是这样的NSMutableArray

var arrVideoRange : NSMutableArray = []

那就试试这个

for value in videoRangeDic.allValues{

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

}

单行代码即可获取dic的所有值

print("values array : \(videoRangeDic.map{[=10=].value}.flatMap{[=10=]})")

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

let array = groupDicts.flatMap { [=10=].values.joined() }

or

let newArray = Array(dicts.lazy.flatMap { [=10=].values }.joined())