【发布时间】:2021-04-16 10:51:57
【问题描述】:
UserDefaults.init(suiteName:) 初始化程序是一个可失败的初始化程序。但是,文档 (here) 并没有具体说明在什么情况下它将返回 nil UserDefault 对象。
首先,什么情况下它会返回一个 nil UserDefault 对象?
其次,在 iPhone 和 iPad 应用程序的上下文中强制解包它是否安全?
【问题讨论】:
-
将
UserDefaults.globalDomain用于suiteName,它似乎返回零值。在文档中,它说明这是一个无效的参数,作为捆绑包 ID,我猜传递捆绑包 ID 也可能会失败。 -
完美。我在
suiteName参数描述中错过了这一点。现在重读了一遍,觉得很有道理。因此,如果我传入的值既不是我的应用程序的主包标识符也不是globalDomain,我想我可以假设我会得到一个非零UserDefaults对象。
标签: swift userdefaults