2

現在、CoreData を使用するプロジェクトに取り組んでおり、リレーションは NSSet を使用しています。現在2つの問題があります:

  1. インデックスを使用して NSSet を反復処理する方法は? --> 解決済み

  2. 特定のオブジェクトを削除するには? =>オブジェクトを繰り返してチェックする必要があると思いますか?

うーん、オブジェクトの追加にも問題があるようですね? これの何が問題なのですか:

    [mySet setByAddingObject:info];

助けてくれてありがとう。

mcb

4

1 に答える 1

10

セットは順序付けられていないコンテナーです。つまり、インデックスを使用して反復することはできません。を使用[set allObjects]して配列を取得できますが、コードを実行するたびに順序が一定にならないことに注意してください。そのため、実行内容によっては、配列を反復する前に並べ替えたい場合があります。

オブジェクトを削除するには、インスタンスを持ち、メッセージNSMutableSetを使用する必要がありremoveObject:ます。NSSet しかなく、特定のアイテムを削除した新しいセットを作成したい場合は、次のようなコードを使用します。

NSSet *mySet = /* ... */;
NSMutableSet *mutable = [NSMutableSet setWithSet:mySet];
[mutable removeObject:myObject];
于 2010-06-04T10:33:16.350 に答える