gpt4 book ai didi

ios - swift [字符串 : AnyObject] not convertible to T Swift Arrays

转载 作者:行者123 更新时间:2023-11-28 07:15:45 25 4
gpt4 key购买 nike

我在 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)
}
}
}
}

关于ios - swift [字符串 : AnyObject] not convertible to T Swift Arrays,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26280077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com