2017-05-30 108 views
0

我有這個NSMutableArray,它包含一個Message對象。消息有幾個屬性,其中之一是TheID。根據對象的屬性從NSMutableArray中移除重複項

因此,考慮到下列對象在我的數組:

Message1.TheID = 1 
Message1.title = @"whatever" 

Message2.TheID = 2 
Message2.title = @"doesn't matter" 

Message3.TheID = 1 
Message3.title = @"I don't care" 

我想擺脫重複TheIDs的。

什麼是篩選我的陣列以這樣的方式最好的方式,我結束了

我見過很多類似的問題消息1包含的消息2和(或消息2和消息3)一個數組,但沒有的解決方案似乎適用於我的情況。

感謝

回答

0

,你通過你的消息數組迭代你可以使用一個NSSet來跟蹤使用的ID的。只有將消息添加到其ID的新數組不在集合中。

NSMutableSet *ids = [NSMutableSet set]; 
NSMutableArray *newMessages = [NSMutableArray array]; 
for (Message *message in messagesArray) { 
    if (![ids containsObject:message.theID]) { 
     [ids addObject:message.TheID]; 
     [newMessages addObject:message]; 
    } 
} 
+0

謝謝。唯一的問題是TheID是一個i​​nt(而不是一個對象)。儘管我會使用另一個獨特的屬性。 – Sjakelien

+0

您可以使用該ID。在將它與NSSet一起使用之前,請將其包裝在NSNumber中。 – rmaddy

相關問題