通过传递值来查找NSArray的索引

rpt*_*thi 8 iphone objective-c nsarray

是否有可能在NSArray中找出数组中是否存在给定值(不使用for循环搜索)?任何默认的随机方法.我浏览了文档,但没有找到相关的内容.

还请告诉我valueForKey方法(我无法从doc获得).

CRD*_*CRD 10

containsObject:方法通常会提供您所要求的内容 - 虽然它的名称听起来像是在查询特定实例(即具有相同语义值的两个对象不匹配),但它实际上会调用isEqual:对象以便按进行测试.

如果你想要项目的索引,如标题所示,使用indexOfObject:,它也会调用isEqual:以找到匹配项.

valueForKey:是为了你有一系列词典; 它在每个字典中查找键并返回结果的数组.


Pen*_*One 6

我相信你想用这个indexOfObject方法.从文档:

indexOfObject:

返回其对应的数组值等于给定对象的最低索引.

- (NSUInteger)indexOfObject:(id)anObject

参数

anObject

An object.
Run Code Online (Sandbox Code Playgroud)

回报价值

相应数组值等于的最低索引anObject.如果数组中没有任何对象等于anObject,则返回NSNotFound.

讨论

如果isEqual:返回,则对象被视为相等 YES.

重要提示:如果anObjectnil一个异常.