什么是一个简单的方法来减少像AAA:111;BBB:222;333;444;CCC:555Swift中的字典一样的字符串.我有以下代码:
var str = "AAA:111;BBB:222;333;444;CCC:555"
var astr = str.componentsSeparatedByString(";").map { (element) -> [String:String] in
var elements = element.componentsSeparatedByString(":")
if elements.count < 2 {
elements.insert("N/A", atIndex: 0)
}
return [elements[0]:elements[1]]
}
Run Code Online (Sandbox Code Playgroud)
上面的代码产生一个阵列的字典:
[["A": "111"], ["BBB": "222"], ["UKW": "333"], ["UKW": "444"], ["CCC": "555"]]
我希望它能产生,
["A": "111", "BBB": "222", "UKW": "333", "UKW": "444", "CCC": "555"]
但是没有我尝试的东西,因为我map在一个数组上调用函数似乎不可能转换map函数结果的性质.
注意:字符串格式的字典被描述为具有KEY:VALUE;格式或VALUE;格式,在这种情况下,映射函数将添加"N/A"as作为未命名值的键.
非常感谢任何有关此事的帮助.