我可以向数组添加字典数组(这是持有多个值的字典键的正确术语吗?)
var dictionary = [String: [String]]()
var array = [String]()
var data1:String = "55a"
var data2:String = "95a"
var data3:String = "66"
var data4:String = "25"
var data5:String = "88b"
var data6:String = "#"
dictionary["3"] = [data1, data2, data3, data4, data5, data6]
var data7:String = "#"
var data8:String = "#"
var data9:String = "#"
var data10:String = "#"
var data11:String = "#"
var data12:String = "#"
dictionary["2"] = [data7, data8, data9, data10, data11, data12]
var data13:String = "100"
var data14:String = "101"
var data15:String = "102"
var data16:String = "103"
var data17:String = "104"
var data18:String = "105"
dictionary["1"] = [data13, data14, data15, data16, data17, data18]
我尝试了这个:
array.extend([dictionary["1"], dictionary["2"], dictionary["3"]])
但出现错误“无法使用类型'([[((String)?]))的参数列表调用'extend'”。
如何将Dictionary [“ 1”],[“ 2”]和[“ 3”]相应地添加到数组中?
如果您对订单不感兴趣,可以尝试:
array.extend(flatMap(dictionary.values, {$0}))
如果顺序很重要,则可以首先构建您的optionalArrays:
let optionalArrays = [dictionary["1"], dictionary["2"], dictionary["3"]]
array.extend(flatMap(optionalArrays, {$0 ?? []}))
即您的字典返回一个可选数组,这将导致您报告的错误。
希望这可以帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句