7

Appleのドキュメントによると、この- (void)removeObject:(id)anObjectメソッドは、指定されたオブジェクトのすべてのオカレンスをから削除しますNSMutableArray

配列からオブジェクトの1つのオカレンスのみを削除する方法はありますか?

4

3 に答える 3

15

削除したい特定のインスタンスがあり、一意のメモリアドレスを持っているが、他のインスタンスと同等に比較される場合は、を使用しますremoveObjectIdenticalTo:

法案に適合する配列の最初のオブジェクトを削除する場合は、を使用indexOfObject:して最小のインデックスを検索し、次にを使用して、等しいオブジェクトを含むすべてのインデックスのリストをとして取得し、1つを選択removeObjectAtIndex:することもできます。そこから-おそらく、例えばindexesOfObjectsPassingTest:NSIndexSetlastIndex

于 2012-08-15T04:13:35.090 に答える
4

それは本当に簡単です:[yourArray removeObjectAtIndex:[yourArray indexOfObject:yourObject]]

于 2013-05-10T03:52:33.567 に答える
1

はい、削除して呼び出す特定のオブジェクトのインデックスを見つけたいと思います。

- (void)removeObjectAtIndex:(NSUInteger)index

NSMutableArrayのAppleドキュメントはこちらをご覧ください。

于 2012-08-15T04:11:51.310 に答える