【发布时间】:2014-08-04 20:22:54
【问题描述】:
我创建了一个 swift 类来测试字典。所以,我写了下面的代码:
import Foundation
class MyClass {
var myFirstDictionary:[String :String]
var myThirdDictionary:[String :String]?
init(){
var mySecondDictionary:[String :String] = [String :String]()
mySecondDictionary["animal"] = "Monkey"
mySecondDictionary.updateValue("something", forKey: "SomeKey")
self.myFirstDictionary = [String :String]()
addOneThingToSecondDictionary()
addAnotherThingToSecondDictionary()
self.myThirdDictionary! = [String :String]()
addOneThingToThirdDictionary()
addAnotherThingToThirdDictionary()
}
func addOneThingToSecondDictionary(){
self.myFirstDictionary["animal"] = "Monkey"
}
func addAnotherThingToSecondDictionary(){
self.myFirstDictionary.updateValue("Superman", forKey: "hero")
}
func addOneThingToThirdDictionary(){
self.myThirdDictionary["animal"]! = "Monkey"
}
func addAnotherThingToThirdDictionary(){
self.myThirdDictionary!.updateValue("Superman", forKey: "hero")
}
}
所以,我遇到了 3 个关于 "myThirdDictionary" 的错误:
- 在字典初始化编译器中说:找不到接受提供的参数的“init”的重载
- 当我尝试在 addOneThingToThirdDictionary() 中添加键/值对时:'[String : String]?'没有名为“下标”的成员
- 当我尝试在 addAnotherThingToThirdDictionary() 中添加键/值对时:“[String : String]”类型的不可变值只有名为“updateValue”的变异成员
有什么想法吗?
【问题讨论】:
-
你使用的是哪个 Xcode?span>
-
我使用的是 Xcode 6.0 (6A267n) 和 OSX 10.9.4
-
相关:在 Swift 中为可选字典赋值。 stackoverflow.com/questions/24096293/…