如果有人可以帮我解决语法问题。在
中读取Int的正确方法是什么数组 - > Dict - >数组 - > Dict - >数组 - > [0]
我是Swift 3的新手并且无法提取变量。任何帮助都会被贬低。我尝试过以下方面的事情:
let sen = dict["senzu"] as? [[String:Any]]
let sen1 = dfa?[0][0]["green"] as? Any
答案 0 :(得分:0)
为了说得更清楚,我分了:
数组 - > Dict - >数组 - > Dict - >数组 - > [0]
到分隔级别,假设最后一个数组是05级而第一个数组是01级,如下所示:
// Array of Ints
var arrayLevel_05 = [1, 2, 3, 4]
// Dict of arrays of ints
var dictLevel_04: [String: [Int]] = ["myArray01": arrayLevel_05]
// Array of dicts of arrays of ints
var arrayLevel_03:[[String: [Int]]] = [dictLevel_04]
// Dict of arrays of dicts of arrays of ints
var dictLevel_02: [String: [[String: [Int]]]] = ["myArray02": arrayLevel_03]
// Array of dict of arrays of dicts of arrays of ints
var arrayLevel_01:[[String : [[String : [Int]]]]] = [dictLevel_02]
因此,要获取arrayLevel_05
中的整数值:
let one = arrayLevel_01[0]["myArray02"]?[0]["myArray01"]?[0]
let tow = arrayLevel_01[0]["myArray02"]?[0]["myArray01"]?[1]
let three = arrayLevel_01[0]["myArray02"]?[0]["myArray01"]?[2]
请注意,它们是选项,因为您正在阅读字典中的值,如果您非常确定始终获取值,则可以替换{{1与?
(强制解包)如下:
!
或遵循可选绑定方法:
let one = arrayLevel_01[0]["myArray02"]![0]["myArray01"]![0]
let tow = arrayLevel_01[0]["myArray02"]![0]["myArray01"]![1]
let three = arrayLevel_01[0]["myArray02"]![0]["myArray01"]![2]
有关什么是选项的更多信息,请查看Apple Documentation(可选部分)。
希望这会有所帮助。