我有一个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>"
)
原因是字典在数组(例如)中保存值,所以我只需要删除这个数组。任何人都可以帮我解决我的问题,而无需创建任何新阵列。谢谢!
答案 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())