gpt4 book ai didi

swift - "Ambiguous reference to member map"尝试追加/替换数组元素时

转载 作者:IT王子 更新时间:2023-10-29 05:20:56 28 4
gpt4 key购买 nike

几个 SO 帖子 like this处理相同的错误消息,但这些解决方案均无效。看起来这可能是误导性错误消息的情况。

下面的代码会为映射调用生成“对成员映射的不明确引用”错误。

有人知道为什么吗?

func saveUser(user: User) {
var userDicts = masterDict["users"] as! [[String:AnyObject]]
let newDict = user.getDict()

// Replace matching element with <newDict>
let replaced = false
masterDict["users"] = userDicts.map {
if ($0["id"] as String! == user.getId()) {
replaced = true
return newDict
} else {
return $0 as [String:AnyObject]
}
}

// If no match found, means must add new user
if (!replaced) {
userDicts.append(newDict)
}
}

最佳答案

不幸的是,swift 并不完美,无法始终推断类型,这就是为什么您会得到不明确的引用。尝试 userDicts.map {val -> [String:AnyObject] in 并将 $0 换成 val 这将明确告诉 map 值进来的是[String:AnyObject],并且应该能够返回所述类型

关于swift - "Ambiguous reference to member map"尝试追加/替换数组元素时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34368958/

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