在字典中访问类 - Swift

时间:2015-04-17 20:55:54

标签: swift swift-playground

我现在正在编写一个涉及课程和词典的程序。我想知道如何在字典中访问类的值。对于下面的代码,如何使用字典访问test1值。我尝试过使用dict[1].test1,但它不起作用。

class test {
var tes1 = 1
}
var refer = test()
var dict = [1:refer]

2 个答案:

答案 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
}