0

你们可以对使用 UserDefaults 的字典有所了解吗?

我想要得到的是使用 UserDefaults 将某个字典从视图控制器传递到另一个。

var dict = [String : AnyObject?]()
dict = ["Name": "Henri", "Group": "A", "Category": "4"]
UserDefaults.standard.set.(dict, forKey: "MyDict")

然后我尝试检索数据

let retrieveDict = UserDefaults.standard.dictionary(forKey:"MyDict")

我在控制台中得到了一个很好的nil答案。当我尝试使用 int 或 float 类型时,这很好......我有什么遗漏来制作这本字典吗?

4

1 回答 1

2

首先,您的代码不会编译。

其次,具有类型的字典[String, AnyObject?]没有意义,因为您将无法nil在 UserDefaults 中进行设置。您应该为此目的使用空字符串。

工作代码可能如下所示:

    var dict = [String : Any]() // or maybe [String : String] if you sure about value type
    dict = ["Name": "Henri", "Group": "A", "Category": "4"]
    UserDefaults.standard.set(dict, forKey: "MyDict")
    let retrieveDict = UserDefaults.standard.dictionary(forKey:"MyDict")

希望它可以帮助你:)

于 2016-11-13T19:08:59.887 回答