【发布时间】:2020-08-04 09:37:12
【问题描述】:
我有一个正在初始化的struct,带有一个字典。该字典中的值有许多不同的类型:String、Int 和 Dictionary。同样,这个嵌入式字典也有许多不同的类型(String、Int、Bool、Array 和 Dictionary)。我知道,这是一团糟。所以,我正在尝试为这个 struct 的初始化程序找到正确的语法,它将这个大字典作为输入。
我试过这个,但它不能满足我的大部分元素。
init(dictionary: [AnyHashable: [AnyHashable: [AnyHashable: Any]]){
...
}
例如,当尝试在字典的第一层访问 String 时,编译器期望的是 [AnyHashable: [AnyHashable: Any]] 类型的对象。
有没有一种通用的方法在这个初始化器中声明这个字典的类型?我希望能够访问值并使用它们初始化变量或将这些值用作字典。有没有办法在 Swift 中做到这一点?
补充信息:我正在从我的 FireStore 数据库中提取信息,这就是为什么我有这个分层的字典。 FireStore 文档可以处理许多不同级别的信息,出于设计目的,我不得不填写我的信息。
谢谢!
【问题讨论】:
标签: swift dictionary types initialization