我试图通过使用扩展来避免我的对象数组中的重复项从核心数据返回。但它给了我错误说"无法转换值的类型() - >预期参数类型[对象类型] - >()"。我的代码如下。我错过了什么。
viewDidLoad (){
// get the above mentioned error here
let uniqueArray = myArray.unique{$0.Id}
}
extension Array {
func unique<T:Hashable>(map: ((Element) -> (T))) -> [Element] {
var set = Set<T>() /
var arrayOrdered = [Element]()
for value in self {
if !set.contains(map(value)) {
set.insert(map(value))
arrayOrdered.append(value)
}
}
return arrayOrdered
}
}