Swift 2 - 在字典中使用Set作为值类型

时间:2015-10-07 09:56:19

标签: ios dictionary set swift2

我是Swift / iOS的新手,我在字典中使用Sets时遇到了麻烦。我有以下代码:

internal let attributeLists = Dictionary<String,Set<String>>()

public func getAttributeList(name: String) -> Set<String> {
        if self.attributeLists[name] == nil{
            self.attributeLists[name] = Set<String>()
        }
        return self.attributeLists[name]!
}

编译器在self.attributeLists[name] = Set<String>()

处给出了错误

它表示无法分配此表达式的结果

它想知道它是否与可选性有关。 当我使用self.attributeLists.updateValue(value: Set<String>(), forKey: name)时,它会给我错误:Immutable value of type Dictionary<String,Set<String>> only has mutating members named updateValue

有没有人有想法?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您使用attributeLists声明let,这意味着它是一个常量且不可变的空字典。