@Published private var rates = Dictionary<String, Double>()这行得通
for e in res.rates {
self.rates[e.currencySymbol] = e.rate
}这是返回0元素
let _ = res.rates.reduce(into: self.rates){ $0[$1.currencySymbol] = $1.rate }我做错了什么?
发布于 2022-09-28 05:37:35
您正在获得一个空字典,因为您没有使用reduce(into:_:)的结果,您需要使用它的结果并将其设置为您的rates字典。
self.rates = res.rates.reduce(into: self.rates) { $0[$1.currencySymbol] = $1.rate }您认为当您通过self.rates时,reduce将使用它来填充结果,但它只是最初的结果,因此您甚至可以设置空字典[:]。
self.rates = res.rates.reduce(into: [:]) { $0[$1.currencySymbol] = $1.rate }https://stackoverflow.com/questions/73876072
复制相似问题