Swift 向下转换到数组并在一行上获取值
假设一个值类型为Swift 向下转换到数组并在一行上获取值,swift,Swift,假设一个值类型为Any的混合字典,包含一个数组作为一个值: let myArray = ["A", "B", "C"] var myDictionary:Dictionary<String, Any> = [ "Array":myArray, "String":"A String" ] 这是否可以在不首先分配var的情况下完成 myDictionary["Array"] as String[] // I got the String[], now what? m
Any
的混合字典
,包含一个数组作为一个值:
let myArray = ["A", "B", "C"]
var myDictionary:Dictionary<String, Any> = [
"Array":myArray,
"String":"A String"
]
这是否可以在不首先分配var
的情况下完成
myDictionary["Array"] as String[] // I got the String[], now what?
myDictionary["Array"] as String[] [1] // Any way to get the [1] value ?
myDictionary["Array"]?[1] // Nop
myDictionary["Array"]![1] // Na..
myDictionary["Array"]![1] as String // No go..
让我在这里停下来,只提一下我有20多行类似的“头脑风暴”。或者我应该用不同的方式对待我的
字典中的任何?(任意?任意!.arrr..Any*%#$!^)?如果您真的想把它放在一行中:
(myDictionary["Array"] as [String])[1]
但是,请确保您对该类型的正确性非常有信心,因为它将抛出运行时错误,如果不正确,将停止整个程序。谢谢!!!(这只是为了学习Swift,我仍然使用Obj-C,所以是的,当然我需要“类型检查”)。
(myDictionary["Array"] as [String])[1]