gpt4 book ai didi

iphone - 找出对象是否已经在 NSMutableArray 中的最有效方法?

转载 作者:行者123 更新时间:2023-12-03 20:28:42 27 4
gpt4 key购买 nike

我只是想知道一个对象是否在数组中。

所以我可以使用:

- (BOOL)containsObject:(id)anObj

但它会将 -isEqual 发送到数组中的每个对象。当有数千个时就很糟糕了。

然后是:

- (NSUInteger)indexOfObjectIdenticalTo:(id)anObject

这似乎只比较内存地址。我认为这样更快。但当然,使用起来有点麻烦。必须检查 NSNotFound。

-indexOfObjectIdenticalTo 真的是最好的选择吗?

最佳答案

如果确实经常需要,可以按类别创建实例方法:

@interface NSArray (MONStuff)
- (BOOL)mon_containsObject:(id)object;
@end


@implementation NSArray (MONStuff)

- (BOOL)mon_containsObject:(id)object {
return NSNotFound != [self indexOfObjectIdenticalTo:arg];
}

@end

或者这些也是CFArrayContainsValue

一个简单的函数就足够了。

关于iphone - 找出对象是否已经在 NSMutableArray 中的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5817595/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com