如何从NSMutableArray中仅删除一个对象实例?

7
苹果文档中提到,- (void)removeObject:(id)anObject 方法可以从NSMutableArray 中删除所有给定对象的出现次数。
有没有方法只删除数组中一个对象的出现次数?
3个回答

15

如果您想删除一个特定的实例,该实例具有唯一的内存地址,但与其他实例比较相等,则可以使用removeObjectIdenticalTo:方法。

如果您想删除数组中符合要求的第一个对象,则使用indexOfObject:查找最低索引,然后使用removeObjectAtIndex:。您还可以使用indexesOfObjectsPassingTest:获取包含相等对象的所有索引列表作为NSIndexSet,然后从中选择一个 -- 比如说lastIndex


4
很简单: [yourArray removeObjectAtIndex:[yourArray indexOfObject:yourObject]]

1

是的,您想要找到要删除的特定对象的索引并调用:

- (void)removeObjectAtIndex:(NSUInteger)index

请查看苹果文档中NSMutableArray的这里

是的,我知道这种方法。但是我正在寻找一种不需要知道索引的方法。我只需要提供要删除的实际对象即可。 - gossainapps
你需要创建自己的函数来删除它。 - freelancer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接