为什么append(data)
不起作用?
import Foundation
//This is working.
let tablelist:[String: String] = [
"red1": "manu1",
"blue1": "chelsea1",
"yellow1": "dort1",
"green1": "nakamura1",
"purple1": "real1"
]
var resulttablelist = [String: String]()
resulttablelist = tablelist
resulttablelist.removeAll()
for data in tablelist {
if data.value.contains("manu1") {
//This append(data) not working. I have an error. I need your help.
var resulttablelist = [String: String]()
resulttablelist.append(data)
print(resulttablelist)
}
}
错误:
//Error!! value of type '[String : String]' has no member 'append'
此示例代码正常工作。
for data in tablelist {
if data.value.contains("manu1") {
print(data)
}
}
将打印:
(key: "red1", value: "manu1")
Dictionary 在 Swift 中没有 append 方法。您需要使用resulttablelist["manu1"] = data
而不是resulttablelist.append(data)
try resulttablelist[Key] = Value
结果表列表是一个字典,所以它需要一个键值对
其中键和值都是字符串
编辑:在您的情况下,这将是
resulttablelist[data.key] = data.value
你不能附加一个键和它的值,你应该把你的追加替换为resulttablelist[data.key] = data.value
并且每次重置数组时都要小心 for in 中的行var resulttablelist = [String: String]()
。
您也可以使用此方法:
YOUR_DICTIONARY.updateValue(_ value: Dictionary.Value, forKey key: Dictionary.Key)
源:
https://developer.apple.com/documentation/swift/dictionary/1539001-updatevalue
把这个变量结果表列表 = 字符串:字符串从刹车出来
import Foundation
//This is working.
let tablelist:[String: String] = [
"red1": "manu1",
"blue1": "chelsea1",
"yellow1": "dort1",
"green1": "nakamura1",
"purple1": "real1"
]
var resulttablelist = [String: String]()
resulttablelist = tablelist
resulttablelist.removeAll()
var newresulttablelist = [String: String]()
for data in tablelist {
if data.value.contains("manu1") {
newresulttablelist.append(data)
print(newresulttablelist)
}
}