我想要一個簡單的NSSet,它加載了一些NSNumbers,然後找出這些數字是否已經添加到集合中。當我這樣做:NSSet的NSNumbers - 成員方法始終爲零
NSMutableSet *set = [[NSMutableSet alloc] init];
NSNumber *num1 = [NSNumber numberWithInt:5];
NSNumber *num2 = [NSNumber numberWithInt:5];
[set addObject:num1];
if([set member:num2]){
// something...
}
問題是,成員總是返回零(如果爲false),即使這些數字是相同的。 isEqual方法返回true。所以
if([num1 isEqual:num2]){
// correct
}
作品...
在文檔,我讀了成員方法的isEqual使用,所以我不知道是什麼問題... 感謝您的任何意見。
如果你的代碼被正確粘貼 - 你沒有添加對象num2到你的集合 – Maggie
你確定..你的代碼對我來說工作得很好! – Devarshi
@Maggie是的我確定,關鍵是我想檢查數字5是否已經在集合中,但我必須使用nsnumber,因爲它們是對象,所以我想檢查值爲5的nsnumber對象是否已經在集(num1與值爲5是,所以它應該返回true) – haluzak