这个问题已经有了答案:
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
中删除元素。额外的细节:从两个数组的名称中,您可以发现
imagesToBeDeleted
是imagesToBeDeleted
数组的imageName
属性的子集。 最佳答案
您只需使用filter
oncardImages
,检查当前卡的名称是否存在于imagesToBeDeleted
数组中,并且只保留其他数组中不存在的cardImages
元素。cardImages = cardImages.filter{!imagesToBeDeleted.contains($0.imageName)}