2015-04-15 94 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")