我要根据我的词典包含的键之一从我的nsarray中删除重复的词典
但是我收到此错误:
“任意”类型没有下标成员
我在下面的行上出现错误
guard let name = $0["profile_id"] as? String else {return nil }
这是我的代码...
var set = Set<String>()
let arraySet: [[String : Any]] = arry.compactMap {
guard let name = $0["profile_id"] as? String else {return nil }
return set.insert(name).inserted ? $0 : nil
}
能帮助我吗?
谢谢
答案 0 :(得分:0)
您可以尝试
var set = Set<String>()
let arraySet: [[String : Any]] = arry.compactMap {
guard let dic = $0 as? [String:Any], let name = dic["profile_id"] else {return nil }
return set.insert(name).inserted ? dic : nil
}
或从一开始就将arry
转换为[[String:Any]]