![](/img/trans.png)
[英]Swift: '()' is not convertible to '[String : AnyObject]'
[英]Swift[String: AnyObject] not convertible to T Swift Arrays
我正在使用Swift扩展程序。 我试图将数据追加到[[String: AnyObject]]
类型的数组中。 之所以在扩展中,是因为我必须对很多数组进行很多次。 问题是,当我追加类型为[String: AnyObject]
的对象时,出现错误: Dictionary'<'String, AnyObject'>' Not Convertible to T
(引号存在,因为在胡萝卜中未显示任何内容) 。
mutating func appendData(data: [String: [String: AnyObject]]?) {
if data != nil {
for (id, object) in data! {
var mutatingObject = object
mutatingObject["id"] = id
append(mutatingObject)
}
}
}
我不确定您到底要达到什么目标。 但请注意-数组是存储特定类型的通用集合。 Array扩展可能不知道在每种情况下将使用哪种类型,因此它不能简单地允许您存储Dictionary<String, AnyObject>
。
这是有关如何使代码更通用的示例:
extension Array {
mutating func appendData(data: [String: T]?) {
if data != nil {
for (id, object) in data! {
if var mutatingObject = object as? [String : AnyObject] {
mutatingObject["id"] = id
}
append(object)
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.