我正在编写一个覆盖存储在多个UserDefaults
文件中的值的函数。
这些文件key
名称相似但由于动态保存而具有不同的终止,例如:
forKey:
buyOrSellBitcoin-USD
forKey:
buyOrSellBitcoin-GBP
forKey:
buyOrSellBitcoin-CNY
是否可以使用单行覆盖每个文件,如:
forKey:
buyOrSellBitcoin-\(x)
?
答案 0 :(得分:2)
没有多个UserDefaults
个文件。它是一个单键/值存储。您将键/值对写入商店。
不,没有办法指定一个通配符,它会以某种方式告诉操作系统更新你定义的所有按照特定模式的键。
但是,您可以将字典等集合对象写入UserDefaults
:
let coinsDict = [
"buyOrSellBitcoin-USD": valueForUSD,
"buyOrSellBitcoin-GBP": valueForGBP,
"buyOrSellBitcoin-CNY": valueForCNY
]
UserDefaults.standard.set(coinsDict, forKey: "coinsDict")
然后你会从UserDefaults
读回结果字典并将其解压缩到你的数据模型中。