2017-08-14 120 views
1

我有一類比較去除常見的元素如何從一個陣列將其與另一個數組

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

我有兩個數組

var imagesToBeDeleted = [String]() 
var cardImages = [CardImage]() 

我想從cardImages刪除元素具有財產imageName類似於imagesToBeDeleted中的元素。

EXTRA DETAIL:從這兩個數組的名稱可以看出,imagesToBeDeleted將是cardImages數組的imageName屬性的子集。

+0

看一看https://stackoverflow.com/questions/39339431/how-do-i-filter-an-array-based-on-objects-property-with-multiple-or-聲明,這是非常相似的。你只需要否定條件。 –

+2

你爲什麼不喜歡? – Jack

+0

鏈接解決了我的問題。謝謝 – N4SK

回答

3

你只需要對cardImages使用filter,檢查當前卡的名稱出現在imagesToBeDeleted陣列中或沒有,只有保持不存在其他陣列中的cardImages的元素。

cardImages = cardImages.filter{!imagesToBeDeleted.contains($0.imageName)}