UserDefaults 中的 object(forKey:) 和 value(forKey:) 有什么区别? [英] What is the difference between object(forKey:) and value(forKey:) in UserDefaults?

查看:57
本文介绍了UserDefaults 中的 object(forKey:) 和 value(forKey:) 有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用 let userDefaults = UserDefaults.standard 设置了一些用户默认值,当我检索它们时,我可以使用以下任何一个:

I've set some user defaults using let userDefaults = UserDefaults.standard, and when I'm retrieving them, I can use any of these:

jobTextField.text = userDefaults.object(forKey: "job") as?字符串

或者我可以使用

jobTextField.text = userDefaults.value(forKey: "job") as?字符串

在什么情况下这会有所不同?很高兴知道我什么时候不能使用其中之一.

in what case this will has a difference? It'd be great to know when I can NOT use one of them.

非常感谢:)

推荐答案

value(forKey:) 来自 键值编码,而不是UserDefaults的直接方法.

value(forKey:) is from key-value coding, and not a direct method of UserDefaults.

切勿在 UserDefaultsDictionary 或任何其他类上使用 value(forKey:) ,除非您清楚地了解需要使用 key-值编码以获得所需的结果.

Never use value(forKey:) on UserDefaults or Dictionary or any other class unless you have a clearly understood need to use key-value coding to get the desired result.

当您没有这样的需求时,请使用相关类提供的标准访问方法(例如UserDefaults object(forKey:).

When you don't have such a need, use the standard access methods provided by the class in question (such as UserDefaults object(forKey:).

这篇关于UserDefaults 中的 object(forKey:) 和 value(forKey:) 有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆