我现在正在编写一个涉及课程和词典的程序。我想知道如何在字典中访问类的值。对于下面的代码,如何使用字典访问test1值。我尝试过使用dict[1].test1
,但它不起作用。
class test {
var tes1 = 1
}
var refer = test()
var dict = [1:refer]
答案 0 :(得分:3)
行dict[1].test1
存在一些问题:
首先,字典上的下标返回一个可选类型,因为该键可能没有值。因此,您需要检查该键的值是否存在。
其次,在您的班级Test
中,您已定义了变量tes1
,但您要从词典中要求test1
。这可能只是一种类型。
要解决这些问题,您的代码应该是这样的:
if let referFromDictionary = dict[1] {
prinln(referFromDictionary.test1)
}
答案 1 :(得分:2)
那是因为下标返回一个可选项,所以你必须打开它 - 而最直接的方法是使用可选的链接:
dict[1]?.tes1
但您也可以使用可选绑定:
if let test = dict[1] {
let value = test.tes1
}