我正在创建Swift Dictionary
以外的一些自定义对象。Swift词典表示法
下面是我定义字典的地方; var carDictionary:[String:Any] = Dictionary<String, Any>()
的下面循环就是我试图填充字典我的自定义对象:
for dataPoint in dataPoints! {
carDictionary[dataPoint.value(forKey: dataPoint.dataKey)]
}
dataPoint
是下面的类的实例:
public class NACarDataPoint: NSObject {
var dataKey: String!
var dataValue: Any!
public override init() {
// generic initializer, generally designed to be overridden
super.init()
}
init(key: String, value: Any) {
self.dataKey = key
self.dataValue = value
}
}
我我得到了似乎是公认的普遍错误
`Cannot subscript a value of type `[String : Any]` with an index of type `Any`?`
但是,我认为我对Swift中字典创建的工作原理有些遗漏,这让我无法理解这个问题 - 任何人都有什么建议?谢谢!
帖子有类似问题: String not convertible to [AnyObject]
Cannot subscript a value of type '[String : String]?' with an index of type 'String'
Cannot subscript a value of [AnyObject]? with an index of type Int