如何在NSArray中查找字符串?

gar*_*uan 18 cocoa nsstring nsarray

这感觉就像是一个愚蠢的问题,但我怎么能找到一个字符串NSArray

我试过用

[array indexOfObjectIdenticalTo:myString]
Run Code Online (Sandbox Code Playgroud)

但这需要刺痛具有相同的地址.

有没有人有关于如何做到这一点的任何提示?

Pet*_*sey 50

您需要通过向数组中的每个对象发送消息来查找对象indexOfObject:方法isEqual:.


bbu*_*bum 13

彼得的回答是正确的.

另外一个说明; 如果数组中有大量的字符串,那么-indexOfObject:就要进行线性搜索.这可能被证明是一个性能瓶颈,您应该考虑使用不同的容器; 可能是NSSet或NSDictionary(取决于字符串的含义).

另一个问题是如果字符串都相对相似和/或相对较长.

当然,在使用分析工具证明存在性能问题之前,不要费心优化任何事情.