我有一个词典,其中包含另一个Dictionary
,其中包含Array
,其中包含另一个Array
自定义类。我在使用这些方面遇到了很多麻烦,有人可以很容易地告诉我我可以定义,初始化和访问的方式以及专门分配给任一部分。
Dic = [String: [String: [[MyClass]]]]
很抱歉,如果它令人困惑。
答案 0 :(得分:1)
此代码向您展示如何执行您所要求的操作,但您请求的数据结构使用起来非常麻烦。我建议再考虑一下你想要完成什么并查看这个数据结构。
class MyClass {
var name : String
init(name: String) {
self.name = name
}
}
// Create your dictionary
var dic : [String: [String: [[MyClass]]]] = [:]
// Create a list of MyClass object
var list = [MyClass(name: "first"), MyClass(name: "second"), MyClass(name: "third")]
// Create a dictionary with string key and array of array of type MyList
var myClassDic = ["test": [list]]
// update or add new value via the updateValue method
dic.updateValue(myClassDic, forKey: "index1")
// update or add new value via the subscript
dic["index2"] = ["test2": [[MyClass(name: "forth"), MyClass(name: "fith")]]]
// Iterate over your outer dictionairy
for key in dic.keys {
// retrieve an entry from your outer dictionary
var tempDic = dic[key]
// Iterate over your inner dictionary
for sKey in tempDic!.keys {
// retrieve an array of array of MyList Object
var containerList = tempDic![sKey]
// iterate over the outer array
for listVal in containerList! {
//Iterate over the inner array
for sListVal in listVal {
print("\(sListVal.name) ")
}
println()
}
}
}