Swift 字典表示
Swift Dictionary Representation
我正在使用一些自定义对象创建 Swift Dictionary
。
下面是我定义字典的地方;
var carDictionary:[String:Any] = Dictionary<String, Any>()
下面的 for 循环是我试图从我的自定义对象中填充字典的地方:
for dataPoint in dataPoints! {
carDictionary[dataPoint.value(forKey: dataPoint.dataKey)]
}
dataPoint
是以下 class 的实例:
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 中字典创建的工作原理的理解有一些缺失,这让我无法弄清楚这个问题 - 有人有什么建议吗?谢谢!
有类似问题的帖子:
您将值放在需要键下标的位置。
与数组类似,您可以像这样访问字典中的对象:
let myValue = myDictionary["myKey"]
这将检索字典中具有键 "myKey" 的对象。要改为在字典中设置值,请像这样分配给键下标:
myDictionary["myKey"] = myValue
在您的情况下,您的数据点 class 似乎具有可在字典中使用的键和值对象:
for dataPoint in dataPoints! {
carDictionary[dataKey] = dataPoint.value(forKey: dataPoint.dataKey)
}
我正在使用一些自定义对象创建 Swift Dictionary
。
下面是我定义字典的地方;
var carDictionary:[String:Any] = Dictionary<String, Any>()
下面的 for 循环是我试图从我的自定义对象中填充字典的地方:
for dataPoint in dataPoints! {
carDictionary[dataPoint.value(forKey: dataPoint.dataKey)]
}
dataPoint
是以下 class 的实例:
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 中字典创建的工作原理的理解有一些缺失,这让我无法弄清楚这个问题 - 有人有什么建议吗?谢谢!
有类似问题的帖子:
您将值放在需要键下标的位置。
与数组类似,您可以像这样访问字典中的对象:
let myValue = myDictionary["myKey"]
这将检索字典中具有键 "myKey" 的对象。要改为在字典中设置值,请像这样分配给键下标:
myDictionary["myKey"] = myValue
在您的情况下,您的数据点 class 似乎具有可在字典中使用的键和值对象:
for dataPoint in dataPoints! {
carDictionary[dataKey] = dataPoint.value(forKey: dataPoint.dataKey)
}