2011-08-26 54 views
2

獲得唯一的數字。如果我有一對夫婦的NSArrays充滿整數,或NSNumbers,就像這樣:從兩個數組

A: { 12, 23, 45, 56, 67, 78, 99, 234 } 
B: { 12, 56, 78, 99, 454, 512 } 

我如何輸出和數字,是一個數組A,但不是在B,像

{ 23, 45, 67, 234 } 

回答

14

您要綁定的是純粹的集合操作。所以你可以在這裏使用NSSet。你應該做minusSet:以得到你想要的結果。

NSMutableSet *resultSet = [NSMutableSet setWithArray:A]; 
NSSet *setB = [NSSet setWithArray:B]; 

// This is what you need! 
[resultSet minusSet:setB]; 

Array *result = [resultSet allObjects]; 
2

創建一個NSMutableArray稱爲C.做一個遍歷(使用一個試圖找到每個B內的元素3210,它只發送-isEqual:elemOfA消息給B)的每個成員。如果找到一個元素,則什麼都不做;如果找不到元素,請將它添加到C.