同时更新多个UserDefaults文件

时间:2018-01-30 13:10:41

标签: swift key nsuserdefaults

我正在编写一个覆盖存储在多个UserDefaults文件中的值的函数。

这些文件key名称相似但由于动态保存而具有不同的终止,例如:

forKey: buyOrSellBitcoin-USD

forKey: buyOrSellBitcoin-GBP

forKey: buyOrSellBitcoin-CNY

是否可以使用单行覆盖每个文件,如:

forKey: buyOrSellBitcoin-\(x)

1 个答案:

答案 0 :(得分:2)

没有多个UserDefaults个文件。它是一个单键/值存储。您将键/值对写入商店。

不,没有办法指定一个通配符,它​​会以某种方式告诉操作系统更新你定义的所有按照特定模式的键。

但是,您可以将字典等集合对象写入UserDefaults

let coinsDict = [
  "buyOrSellBitcoin-USD": valueForUSD,
  "buyOrSellBitcoin-GBP": valueForGBP,
  "buyOrSellBitcoin-CNY": valueForCNY
]

UserDefaults.standard.set(coinsDict, forKey: "coinsDict")

然后你会从UserDefaults读回结果字典并将其解压缩到你的数据模型中。