Appleのドキュメントによると、この- (void)removeObject:(id)anObject
メソッドは、指定されたオブジェクトのすべてのオカレンスをから削除しますNSMutableArray
。
配列からオブジェクトの1つのオカレンスのみを削除する方法はありますか?
Appleのドキュメントによると、この- (void)removeObject:(id)anObject
メソッドは、指定されたオブジェクトのすべてのオカレンスをから削除しますNSMutableArray
。
配列からオブジェクトの1つのオカレンスのみを削除する方法はありますか?
削除したい特定のインスタンスがあり、一意のメモリアドレスを持っているが、他のインスタンスと同等に比較される場合は、を使用しますremoveObjectIdenticalTo:
。
法案に適合する配列の最初のオブジェクトを削除する場合は、を使用indexOfObject:
して最小のインデックスを検索し、次にを使用して、等しいオブジェクトを含むすべてのインデックスのリストをとして取得し、1つを選択removeObjectAtIndex:
することもできます。そこから-おそらく、例えばindexesOfObjectsPassingTest:
NSIndexSet
lastIndex
それは本当に簡単です:[yourArray removeObjectAtIndex:[yourArray indexOfObject:yourObject]]
はい、削除して呼び出す特定のオブジェクトのインデックスを見つけたいと思います。
- (void)removeObjectAtIndex:(NSUInteger)index
NSMutableArrayのAppleドキュメントはこちらをご覧ください。