我是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
有没有人有想法?提前谢谢。
答案 0 :(得分:0)
您使用attributeLists
声明let
,这意味着它是一个常量且不可变的空字典。