类型“任何”没有下标成员-删除重复的条目

时间:2018-10-04 13:18:12

标签: arrays swift set nsdictionary

我要根据我的词典包含的键之一从我的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
}

能帮助我吗?

谢谢

1 个答案:

答案 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]]