我在Swift扩展中工作。我试图将数据追加到类型为[[String: AnyObject]]
的数组。这是扩展的原因是因为我必须做很多次的数组。问题是,当我追加一个类型为:[String: AnyObject]
的对象时,出现错误:Dictionary'<'String, AnyObject'>' Not Convertible to T
(引号存在,因为在胡萝卜内没有任何显示)。Swift [String:AnyObject]不可转换为T Swift数组
mutating func appendData(data: [String: [String: AnyObject]]?) {
if data != nil {
for (id, object) in data! {
var mutatingObject = object
mutatingObject["id"] = id
append(mutatingObject)
}
}
}
“的原因,这是一个扩展是因为我必须做的时候,这大量的以阵列的很多的。”请注意,如果你在很多数组中使用'AnyObject',你很可能在Swift中做错了。 'AnyObject'偶尔是必需的,但是你应该尽快将这些数组和字典转换为具体类型(通常是结构体),然后与这些类型一起工作。围绕'AnyObject'和键/值字典的逻辑非常迅速地变得非常复杂和容易出错。 – 2014-10-09 21:20:10