2015-04-15 60 views
0

林之外定义,我想这样的功能中填写词典:不能访问字典的功能

var categories = [String:String]() 

    func addCategory (cat: String, symptomID: String) ->() { 
    categories[cat] = symptomID 
    } 

但我不断收到Cannot assign to the result of this expression

考虑到Swift Documentation我不明白为什么这不起作用。

有趣的是,在函数中定义字典并不会给我这个错误。

+0

你什么时候调用这个函数?你的代码没有任何错误。 –

+0

我想我找到了问题。我在一个显然不工作的结构中使用它 – Rico

回答

0

这里是我尝试过并为我工作的片段。

请检查并更新它。

var categories = [String:String]() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    println(self.categories.description); 
    self.addCategory("Viral" as String, symptomID:"Savaj" as String); 
    println(self.categories.description); 

} 
func addCategory (cat: String, symptomID: String) ->() { 
    categories[cat] = symptomID 
} 

的输出是这样的:

[:] 
[Viral: Savaj] 

HTH, 享受编码!!

1

在你的情况,我不明白为什么你正在创建一个函数来添加键/值到字典。只用updateValue(value: Value, forKey key: Key)-字典方法:

categories.updateValue("value", forKey:"key")