将第一个元素的id与比较器的id进行比较,如果匹配则返回true。我对。first {} != nil语法的{}感到困惑。该模式的较长形式如何浓缩为以下内容:
private(set) var arr : [Arrs] = []
func isPresent(for compr: Compr) -> Bool {
Arrs.first { comp.id == $0.id } != nil
}
首先,将这行更改为以下内容,以便编译:
arr.first { compr.id == $0.id } != nil
这只是使用first(where:)
方法的尾随闭包语法。也可以写成:
arr.first(where: { compr.id == $0.id }) != nil
但更好的方法是这样做:
arr.contains { compr.id == $0.id }