我有一個需要以特定方式進行過濾的字典數組。以例子來解釋最簡單。通過比較NSArray中的字典對象進行過濾
比方說,我有一個包含以下三個字典,其中一個數組@「的threadId」,@「主題」,@「MESSAGEID」是關鍵:
NSDictionary #1:
@"threadId" : @"1234"
@"subject" : @"hello"
@"messageId" : @"0001"
NSDictionary #2:
@"threadId" : @"1234"
@"subject" : @"hello"
@"messageId" : @"0002"
NSDictionary #3:
@"threadId" : @"9101"
@"subject" : @"goodbye"
@"messageId" : @"0005"
我考慮具有相同的任何字典@「threadId」和@「subject」的值是重複的,即使@「messageId」不同。因此,我認爲字典1和字典2是重複的,我想從上面的數組中刪除EITHER字典1或字典2(不是兩個)。換句話說,我想過濾所有三個字典的原始數組到一個新的數組,包含其他字典1和3或字典2和3.
到目前爲止我所做的所有嘗試都導致過度for循環,其中我試圖通過threadId對字典進行排序和分隔......但之後我陷入了比較部分。我已經看過謂詞過濾,但它看起來像只能刪除滿足特定條件的對象,而這些條件與其他對象的比較無關。 NSSet將不起作用,因爲我正在考慮重複的對象實際上並不重複。
我想知道是否有人可以建議執行此過濾的一般策略。
可能的重複:http://stackoverflow.com/a/13499453/1301013您可能希望在操作數據集時使用NSPredicate。 –