項(xiàng)目的需求是后臺(tái)刪除某個(gè)城市之后近范,在瀏覽記錄里也要?jiǎng)h除對(duì)應(yīng)的城市嘶摊,這就涉及到了兩個(gè)數(shù)組的比較。最笨的方法就是for循環(huán)评矩,每個(gè)數(shù)據(jù)進(jìn)行比較叶堆,刪除多余的數(shù)據(jù)。利用正則表達(dá)式則比較高效率的解決這個(gè)問(wèn)題斥杜,在寫(xiě)法上也更加簡(jiǎn)潔虱颗。
//過(guò)濾出已經(jīng)刪除的城市,找出在nationalArr但是不在hisArr中的數(shù)據(jù)
NSPredicate *filterPredicate = [NSPredicate predicateWithFormat:@"NOT (SELF.cityID IN %@.cityID)",nationalArr];
NSArray *filter = [hisArr filteredArrayUsingPredicate:filterPredicate];
//從歷史記錄里刪除城市蔗喂,從hisArr中刪除數(shù)據(jù)
NSPredicate *filterPredicate2 = [NSPredicate predicateWithFormat:@"NOT (SELF.cityID IN %@.cityID)",filter];
NSArray *filter2 = [hisArr filteredArrayUsingPredicate:filterPredicate2];