这个问题已经有了答案:
How do I filter an array based on object's property with multiple OR statements
1个答案
我有个班

class CardImage {
var imageName: String?
var image : UIImage?
var is_saved = false
}

我有两个阵列
var imagesToBeDeleted = [String]()
var cardImages = [CardImage]()

我想从具有类似于cardImages中存在元素的属性的imageName中删除元素。
额外的细节:从两个数组的名称中,您可以发现imagesToBeDeletedimagesToBeDeleted数组的imageName属性的子集。

最佳答案

您只需使用filteroncardImages,检查当前卡的名称是否存在于imagesToBeDeleted数组中,并且只保留其他数组中不存在的cardImages元素。
cardImages = cardImages.filter{!imagesToBeDeleted.contains($0.imageName)}

10-06 15:24