UserDefaults register和setValuesForKeys的区别


UserDefaults.standard.register(defaults: ["USERNAME":"ZHANGSAN"])
UserDefaults.standard.setValuesForKeys(["USERNAME":"ZHANGSAN"])

第一种方法 register 为设置默认值
放置registerDefaults的典型地方是在appDelegate中的initializer方法中。

第二种方法是设置key对应的value
再次设置USERNAME对应的value的时候


UserDefaults.standard.setValuesForKeys(["USERNAME":username])

如果username = nil
如果设置用register 设置过USERNAME
那么

UserDefaults.standard.value(forKey: "USERNAME")

返回的结果就是默认值 ZHANGSAN
否则返回的则是NULL

你可能感兴趣的:(UserDefaults register和setValuesForKeys的区别)