首页 文章

Swift访问索引来自

提问于
浏览
0

我创建了一个数组作为一个懒惰的var:

lazy var info : [[String: AnyObject?]] = {

        var dictionary = [[String: AnyObject?]]()
        dictionary["Key1"] = ["A", "B", "C"]
        dictionary["Key2"] = ["D", "E", "F"]

        return dictionary
    }()

然后在titleForHeaderInSection中调用它,如下所示:

self.info[section]

但这会导致以下错误:

无法下标类型为'[[String:AnyObject?]]'的值

这应该不起作用吗?

2 回答

  • 2

    你有一个字典,而不是一个数组 . 你的字典确实有每个键的数组,但字典本身不是数组 . 因此,所有键都是字符串(在您的情况下为"Key1"和"Key2"),但您尝试传入一个整数 - "section" . 而不是: self.info[section] 你应该使用: self.info["Key1"]![section]

  • 4

    在编写代码时,您将创建一个包含字符串键和[String]值的Dictionary .

    所以 self.info["Key1"] 会返回 ["A", "B", "C"] 然后你可以这样做:

    self.info["Key1"]![0] // "A"
    

    注意:您需要打开从字典返回的值,因为它可能是Nil

相关问题