Objective c 如何找到数组的索引?

Objective c 如何找到数组的索引?,objective-c,uibutton,nsmutablearray,xcode4.2,Objective C,Uibutton,Nsmutablearray,Xcode4.2,我有一个NSMutableArray实例,名为myArray。它包含8个按钮对象。如何获取已录制为整数变量的按钮的索引?NSArray有一个名为indexOfObject - (IBAction)pushButton:(id)sender { NSButton *button = (NSButton *)sender; NSUInteger index = [Array indexOfObject:button]; } 我就是这样做的;pos=[MyArray indexOfO

我有一个
NSMutableArray
实例,名为
myArray
。它包含8个按钮对象。如何获取已录制为整数变量的按钮的索引?

NSArray
有一个名为
indexOfObject

- (IBAction)pushButton:(id)sender {
    NSButton *button = (NSButton *)sender;
  NSUInteger index =  [Array indexOfObject:button];

}

我就是这样做的;pos=[MyArray indexOfObject:btn];但是当我在NSLOg(NSLOg(@“pos%i”,pos))中显示pos时,我得到的输出为Pos2147483647,我需要输出为0或1或2,直到7Hi Shaan,你能给你的查询提供更多的细节吗?因为Parag给出的解决方案应该有效。Shaan你试过用不同的格式说明符记录pos吗?检查字符串编程指南()中的“平台依赖项”部分。据说您可以将%lu与整数一起使用。NSUTEGER被定义为无符号整数(或长整数,取决于平台),因此%i和%d不应该工作。@Shaan 2147483647是32位整数的最大值。是否可能该对象不在数组中,而indexOfObject返回nil?如果您请求indexOfObject:而该对象不在数组中,则会发生这种情况。我刚刚用一个空数组执行了一个测试,得到了与您相同的结果。查看将按钮添加到数组的代码。