0

.hファイルに28個のUIImageオブジェクトがあります

IBOutlet UIImageView *blackdot0, *blackdot1, *blackdot2, *blackdot3, *blackdot4, *blackdot5, *blackdot6, *blackdot7, *blackdot8, *blackdot9, *blackdot10, *blackdot11, *blackdot12, *blackdot13, *blackdot14, *blackdot15, *blackdot16, *blackdot17, *blackdot18, *blackdot19, *blackdot20, *blackdot21, *blackdot22, *blackdot23, *blackdot24, *blackdot25, *blackdot26, *blackdot27, *blackdot28;

.mファイルで自分自身を再表示するには、blackdotxを呼び出す必要があります。xはボタンがクリックされた回数です。

  if (clickcount==0) {
            blackdot0.hidden = FALSE;
        }
        else if (clickcount==1){
            blackdot1.hidden = FALSE;
        }
        else if (clickcount==2){
            blackdot2.hidden = FALSE;
        }
        else if (clickcount==3){
            blackdot3.hidden = FALSE;
        }

これを達成するためのより効率的な方法はありますか?これをどのように達成できますか?(配列を使用する/文字列を整数と連結してループを呼び出す?)

4

1 に答える 1

0

今回は次のようにします。

NSString* key= [NSString stringWithFormat: @"blackdot%d",clickcount];
UIImageView* imageView= [self valueForKey: key];
imageView.hidden= FALSE;

しかし、次回はNSArrayまたはCスタイルの配列を使用することをお勧めします(最初の方が良いです)。

編集

もちろん、私は彼が配列を使うべきであることを知っています、しかし彼はこれをする方法を尋ねました。

于 2012-12-15T16:19:44.637 に答える