Info.plist 字典到 Enum:String 类型的字典
Info.plist Dictionary to Dictionary of type Enum:String
我正在尝试从我的 Info.plist 中取出字典并将其保存为枚举类型的字典:String
为了更好地解释,我正在尝试将下面的 urlDict 转换为 Dictionary 类型,但不断出现致命错误。
我不明白为什么
let enumDict = urlDict["keys"] as? Dictionary<URLKeys, String>
无效
枚举的原始类型为 String,并且有 keyOne 的大小写。
enum URLKeys: String {
case keyOne = "keyOne"
}
var keysDictionary = Dictionary<String, Any>()
keysDictionary["keyOne"] = "abc"
var urlDict = Dictionary<String, Any>()
urlDict["keys"] = keysDictionary
guard let enumDict = urlDict["keys"] as? Dictionary<URLKeys, String> else {
fatalError()
}
使用 forEach
并为每个键创建一个 URLKeys 并将每个值转换为字符串
var enumDict:[URLKeys: String] = [:]
keysDictionary.forEach {
if let key = URLKeys(rawValue: [=10=].0), let value = [=10=].1 as? String {
enumDict[key] = value
}
}
我正在尝试从我的 Info.plist 中取出字典并将其保存为枚举类型的字典:String
为了更好地解释,我正在尝试将下面的 urlDict 转换为 Dictionary 类型,但不断出现致命错误。
我不明白为什么
let enumDict = urlDict["keys"] as? Dictionary<URLKeys, String>
无效
枚举的原始类型为 String,并且有 keyOne 的大小写。
enum URLKeys: String {
case keyOne = "keyOne"
}
var keysDictionary = Dictionary<String, Any>()
keysDictionary["keyOne"] = "abc"
var urlDict = Dictionary<String, Any>()
urlDict["keys"] = keysDictionary
guard let enumDict = urlDict["keys"] as? Dictionary<URLKeys, String> else {
fatalError()
}
使用 forEach
并为每个键创建一个 URLKeys 并将每个值转换为字符串
var enumDict:[URLKeys: String] = [:]
keysDictionary.forEach {
if let key = URLKeys(rawValue: [=10=].0), let value = [=10=].1 as? String {
enumDict[key] = value
}
}