0

配列スロットに対応するボタンを画面に配置したいと考えています。たとえば、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 は 2D 配列 myArray の「水平」インデックスであり、y はその「垂直」インデックスです。

4

1 に答える 1

0

データスキームの一部として位置を使用できるスキームを考案することは実行可能だと思います。水平座標をアルファベットの文字に関連付けているため、とにかくこれがあなたがしていることのように思えます。

したがって、たとえば次のようなことができます。

NSString *letters = @"ABCDEFGHIJKLMNOPQRSTUVXYZ";

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

同様に、より複雑なボタンのマトリックスで行を考慮したコードをデバイス化することもできます。

于 2013-03-13T22:47:13.893 に答える