2

NSSetは4つのを含むを持っていますNSString-containsObject:に特定の文字列が含まれているかどうかを確認するために呼び出した場合、チェックしたばかりの文字列と等しいNSSetのエントリを削除することはできますか?NSSet

私の質問が意味をなさない場合、それはこれを使用するNSSetことが間違った方法である可能性があるためかもしれません。

私は4つ持っておりNSStrings、それらをある種のグループ(Set、Arrayなど)に入れたいと思います。次に、別のグループのNSStringいずれかに一致するものがあるかどうかを確認します。とグループ内NSStringで一致する場合は、グループ内で一致を削除できるようにしたい。これは可能ですか?NSStringNSStringNSString

4

5 に答える 5

7

セットが*mySetであり、削除するオブジェクトがであるとしますobjectToRemove。次に、これを行うことができます:

NSMutableSet *mutableSet = [NSMutableSet setWithSet:mySet];
[mutableSet removeObject:objectToRemove];
mySet = mutableSet;
于 2012-05-28T14:40:34.367 に答える
1

これはこの世のものではなく、プログラマーによって頻繁に引用されます。ただし、NSSetまたはNSArrayの代わりに、NSMutableSetまたはNSMutableArrayが必要です。変更可能なコレクションのみが作成後に変更できるためです。

を使用して、NSMutableArrayからオブジェクトを削除します。[myArray removeObject:yourObject];

NSMutableSetについても同様です [mySet removeObject:yourObject];

于 2012-05-28T14:38:13.407 に答える
1

NSMutableSetと方法を見てくださいremoveObject:

于 2012-05-28T14:34:26.483 に答える
1

は不変であるためNSSets、初期化後に変更することはできません。オブジェクトを削除するメソッドをNSMutableSet持つwhichを使用しますremoveObject:

于 2012-05-28T14:35:14.113 に答える
1

NSMutableArrayで次のコードを使用して、オブジェクトの最初の出現を削除できます。

[myArray removeObjectAtIndex:[myArray indexOfObject:myObject];
于 2012-05-28T15:01:56.283 に答える