同时更新多个 UserDefaults 文件
Update several UserDefaults files at the same time
我正在编写一个函数来覆盖存储在几个 UserDefaults
文件中的值。
这些文件 key
名称相似但由于动态保存而具有不同的终止符,例如:
forKey:
buyOrSellBitcoin-USD
forKey:
buyOrSellBitcoin-GBP
forKey:
buyOrSellBitcoin-CNY
是否可以用一行代码同时覆盖所有文件:
forKey:
buyOrSellBitcoin-\(x)
?
没有多个 UserDefaults
文件。这是一家 key/value 商店。您将 key/value 对写入商店。
不,无法指定通配符以某种方式告诉 OS 更新您定义的所有遵循特定模式的键。
但是,您可以将字典等集合对象写入UserDefaults
:
let coinsDict = [
"buyOrSellBitcoin-USD": valueForUSD,
"buyOrSellBitcoin-GBP": valueForGBP,
"buyOrSellBitcoin-CNY": valueForCNY
]
UserDefaults.standard.set(coinsDict, forKey: "coinsDict")
然后您将从 UserDefaults
中读取生成的字典并将其解压缩到您的数据模型中。
我正在编写一个函数来覆盖存储在几个 UserDefaults
文件中的值。
这些文件 key
名称相似但由于动态保存而具有不同的终止符,例如:
forKey:
buyOrSellBitcoin-USD
forKey:
buyOrSellBitcoin-GBP
forKey:
buyOrSellBitcoin-CNY
是否可以用一行代码同时覆盖所有文件:
forKey:
buyOrSellBitcoin-\(x)
?
没有多个 UserDefaults
文件。这是一家 key/value 商店。您将 key/value 对写入商店。
不,无法指定通配符以某种方式告诉 OS 更新您定义的所有遵循特定模式的键。
但是,您可以将字典等集合对象写入UserDefaults
:
let coinsDict = [
"buyOrSellBitcoin-USD": valueForUSD,
"buyOrSellBitcoin-GBP": valueForGBP,
"buyOrSellBitcoin-CNY": valueForCNY
]
UserDefaults.standard.set(coinsDict, forKey: "coinsDict")
然后您将从 UserDefaults
中读取生成的字典并将其解压缩到您的数据模型中。