对应一个带阵列插槽的按钮

时间:2013-03-13 22:07:32

标签: objective-c

我想在屏幕上放置一组与数组插槽对应的按钮。 例如,buttonA对应myArray [3] [28]。

我是否必须拥有大量的else-if语句:

else if (x == 3 && y == 28)
    //"it's buttonQ" code
else if (x == 3 && y == 29)
    //"it's buttonR" code

还是有更好的方法吗?

注意:x是二维数组myArray的“水平”索引,而y是其“垂直”索引

1 个答案:

答案 0 :(得分:0)

我认为设计一个可以将位置作为数据方案一部分的方案是可行的。在我看来,这是你正在做的事情,因为你将水平坐标与字母表中的字母联系起来。

所以你可以这样做:

NSString *letters = @"ABCDEFGHIJKLMNOPQRSTUVXYZ";

...
else if (x == 3) {
   NSString *letter = [NSString stringWithFormat:@"%c"
                             [letters characterAtIndex:y-11]];
   // use letter in your code
}
...

同样,您可以在更复杂的按钮矩阵中设置代码并考虑该行。