如何根据按钮标签比较数组索引?

时间:2011-06-20 13:17:57

标签: iphone

indexpath.row for array                          b.tag

0 Date1                                          0
1 india                                          1
2 pakistan                                       2
3 Date2                                          3
4 Zimbabwe                                       3
5 England                                        4
6 Date3                                          6
7 Australia                                      5
8 Westindes                                      6
9 Date3                                          9
10 Shrilanka                                     7
11 southAfrica                                   8

这里,array的indexpath.row是我的Array。现在当我点击b.tag=3然后我想显示数组索引第4个值,即津巴布韦而不是数据索引3上的Date2。同样,对于b.tag = 6和b.tag = 9。以下是我写的代码。

请看一下......

if (b.tag!=[arr objectAtIndex:path])
{
   NSLog(@"Team name %@",[arr objectAtIndex:b.tag]);
}

从上面的代码我的第一个记录结果是正确的,即b.tag = 1和b.tag = 2,但不适用于其他人,因为我的Array索引和b.tag是不同的。所以请帮助我解决这个问题。

任何帮助将不胜感激。

先谢谢。

2 个答案:

答案 0 :(得分:1)

为什么不更改数组的内容以更好地反映您的按钮标签?

您似乎有两种不同的数据类型由一个数组表示,将它们拆分出来:

NSArray *teamArray = [NSArray arrayWithObjects:@"India", @"Pakistan", @"Zimbabwe", @"England", @"Australia", @"WestIndies", @"Shrilanka", @"SouthAfrica", nil];

NSLog(@"Team name %@",[teamArray objectAtIndex:b.tag]);

答案 1 :(得分:0)

您似乎已经为两个按钮实例传递了相同的标记,为什么不设置像b.tag = indexPath.row?这样的标记。

<强>更新

使用此代码 -

NSInteger index = b.tag;
if(b.tag != 0 && b.tag %3 == 0){
    index = index+1;
}

 NSLog(@"Team name %@",[arr objectAtIndex:index]);

更新

我测试了这段代码,当索引为4时,它显示index = 4,而不是增加索引值

self.view.tag = 4;
NSInteger index = self.view.tag;

if(index%3 == 0 && index != 0)
{
    index = index+1;
    NSLog(@"Index Value Is %d",index);
}
NSLog(@"Index Value Is %d",index);