我有一个字符串数组,如下所示:
我还有一个包含以下内容的对象数组:
当我运行以下行时:
let filterNo = self.responseObjs.filter({!formItemIds.contains(String(describing: $0.formItemId))})
我希望filterNo
为空,因为所有formItemId
都包含在数组中。但是,它不会删除任何项目。我错过了一些基本的东西吗?
答案 0 :(得分:1)
从describing
的{{1}}移除init
,并使用Nil-Coalescing Operator
和String
解包可选。
$0.formItemId
您没有收到过滤数据,因为您的let filterNo = self.responseObjs.filter({!formItemIds.contains(String($0.formItemId ?? 0))})
属性是可选的,使用formItemId
会为您提供String(describing: $0.formItemId)