NSNumbersをロードしたシンプルなNSSetを持っていて、それらの数値がすでにセットに追加されているかどうかを調べたいと思います。私はこれを行うと:NSNumbersのNSSet - メンバーメソッドは常にゼロです
NSMutableSet *set = [[NSMutableSet alloc] init];
NSNumber *num1 = [NSNumber numberWithInt:5];
NSNumber *num2 = [NSNumber numberWithInt:5];
[set addObject:num1];
if([set member:num2]){
// something...
}
問題は、これらの数字が同じであっても、(falseの場合)メンバーは常にnilを返すということです。 isEqualメソッドはtrueを返します。だから私はメンバーメソッドがのisEqualを使用していることを読んで、ドキュメントで
if([num1 isEqual:num2]){
// correct
}
作品...
はので、私は...、問題が何であるかを任意のアドバイスを 感謝を知りません。
あなたのコードが正しくペーストされている - あなたのセットにnum2のオブジェクトを追加していない – Maggie
あなたのコードは私にとって完璧にうまくいっていますか? – Devarshi
@Maggieはい私は確信していますが、ポイントは、5番目のセットがすでにセットに入っているかどうかを確認したいのですが、nsnumberはオブジェクトなので使用しなければならないので、値が5のnsnumberオブジェクトがすでにセットに入っています(値5のnum1は真です) – haluzak