【问题标题】:How to find the index of an array?如何找到数组的索引?
【发布时间】:2012-07-16 06:29:35
【问题描述】:

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

【问题讨论】:

    标签: objective-c uibutton nsmutablearray xcode4.2


    【解决方案1】:

    NSArray 有一个名为indexOfObject 的方法

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

    【讨论】:

    • 我这样做了,就像这个 NSUInteger pos; pos = [MyArray indexOfObject:btn];但是当我在 NSLOg(NSLog(@"Pos%i",pos)) 中显示 pos 时,我得到的输出为 Pos2147483647 我需要输出为 0 或 1 或 2 到 7
    • 嗨,Shaan,您能否详细说明您的查询。因为 Parag 提供的解决方案应该可以工作。
    • Shaan 您是否尝试使用不同的格式说明符记录 pos?检查字符串编程指南 (developer.apple.com/library/ios/#DOCUMENTATION/Cocoa/Conceptual/…) 中的“平台依赖项”部分。据说可以将 %lu 与 NSUInteger 一起使用。 NSUInteger 被定义为 unsigned int(或 long,取决于平台),因此 %i 和 %d 不应该工作。
    • @Shaan 2147483647 是 32 位整数的最大值。对象是否可能不在数组中,并且 indexOfObject 返回 nil?如果您要求 indexOfObject: 并且该对象不在数组中,则会发生这种情况。我刚刚用一个空数组进行了测试,得到了和你一样的结果。查看将按钮添加到数组的代码。
    猜你喜欢
    • 2021-11-06
    • 1970-01-01
    • 2019-04-29
    • 2014-01-02
    • 1970-01-01
    • 2011-11-12
    • 2018-04-25
    • 2016-08-21
    • 2014-05-19
    相关资源
    最近更新 更多