0

このステートメントを処理する最も効率的な方法について、いくつかアドバイスをすることができます。

私はUISwitchを持っており、切り替えた場合にonボックスにチェックマークを付けます。これらの箱は何百もあります

それよりも

if (_tickSwitch.on){


  _tickBox1.textValue =  @"√" ;
  _tickBox2.textValue =  @"√" ;
  _tickBox3.textValue =  @"√" ;
  _tickBox4.textValue =  @"√" ;

等....

textValueテキストを√</p>に設定した ものがあるかどうかを尋ねる条件をどのように設定できるかを考えています。

だから何かのような

   anyValueThatIs.textValue =  @"√" ;

私はそれを可能にするsytaxを考えることができません-先行する値を持つものは何でも、これを行います

4

2 に答える 2

1

アクションの同じターゲットをすべてのUISwitchコンポーネントに追加する必要があります。例:

[item addTarget:self action:@selector(toggled:) forControlEvents:UIControlEventValueChanged];

イベントをキャッチしてそれに応じて動作できるように:

- (IBAction) toggled:(id)sender {
    UISwitch *item = (UISwitch*)sender;
    if (item.on)
      item.textValue = @"√";
}

もちろん、すべてのUISwitch*コンポーネントのループが必要です。そうでない場合は、冗長性を別の場所に移動するだけです。別の解決策は、それらをCustomUISwitchコンポーネントにサブクラス化して、コストラクタにターゲットを追加し、コンテナの必要性を回避することです。

于 2013-01-05T13:57:56.307 に答える
0

すべてのtickBoxを配列に配置してから、その配列をループしてテストを実行する必要があります

于 2013-01-05T13:55:29.877 に答える