如何确定Objective C中的数组索引?

Xco*_*der 17 search cocoa objective-c nsmutablearray nsarray

我在Objective C中有两个数组,我需要找到什么索引,所以我可以将它插入到同一个地方.例如,假设我有一个"名字数组"和一个"年龄数组".如何找出"charlie"在"名称数组"中的索引,以便知道在"age"数组中插入年龄的位置?

谢谢

Chu*_*uck 38

-[NSArray indexOfObject:] 似乎是合乎逻辑的选择.

  • 是的,NSMutableArray文档只包含与变异数组有关的方法.查看超类文档总是值得的. (4认同)

Pet*_*sey 6

在Cocoa中,并行数组是毁灭和毁灭的途径.你不能在Bindings中有效地使用它们,所以你必须编写很多胶水代码,就好像Bindings不存在一样.此外,您甚至可以在开始实施之前删除任何未来AppleScript/Scripting Bridge支持.

正确的方法是使用nameage属性创建模型类,并具有该类的单个实例数组.然后,要按名称或年龄查找项目,请使用NSPredicate筛选数组,并indexOfObjectIdenticalTo:从主数组中的筛选数组中查找每个项目的索引.

indexOfObject:和之间的区别在于indexOfObjectIdenticalTo:前者将发送isEqual:消息以确定每个对象是否是它正在寻找的对象,而后者仅查找您传入的特定对象.因此,您可以使用indexOfObject:不在的对象数组但是等于一个数组,以便在数组中找到相等的对象.