0

元の質問 IDはこちらです。

実際、この問題についてもっと明確にする必要があります。

次のシナリオを検討してください。

私のプロジェクトには 3 つのクラスがあります。A、B、C と言ってください。

これら 3 つのクラスには、共通のメソッドがいくつかあります。そこで、これらの共通メソッドを追加した別のクラス (Say D) を作成しました。

現在、クラス D が親クラスで、クラス A、B、C が子クラスです。つまり、クラス A、B、C は D のプロパティを継承します。

子クラスごとに 3 つの UIButton があります。各サブクラスの各ボタンには、いくつかのアクションがあります。ただし、色、フレーム、画像などのボタンのプロパティは、3 つのクラスすべてで同じです。

したがって、各サブクラスのボタンに対して次のことを行う必要があります。

  • ボタンを初期化する
  • それらを割り当てます
  • セットフレーム
  • 色を設定する
  • アクションの設定 (を使用[button addTarget:self action:@selector(touchUpInsideAction:) forControlEvents:UIControlEventTouchUpInside])

「設定アクション」を除いて、すべての子クラス (クラス A、B、および C) ですべてが同じです。

今私の質問は、ボタン、そのプロパティ、およびアクションをクラス D (親クラス) に作成できますtouchUpInsideAction:か? また、各子クラス (クラス A、B & C) にアクション メソッドの ( ) 実装を記述できますか?

そのため、プロジェクトで繰り返されるコードを減らすことができます。touchUpInsideAction:ここでは、親クラスから子クラスのメソッドを呼び出します。

これは正しい方法ですか、それとも各クラスのボタン作成とプロパティを個別に記述する必要がありますか?

前もって感謝します

4

2 に答える 2

1

クラス D でクラス メソッドを作成します。そのメソッドですべてのボタン プロパティを設定します。子クラスからクラス メソッドを呼び出します。A とします。クラス メソッドは、UIButton 型のオブジェクトを返します。セレクターを割り当ててから、そのオブジェクトをビューに追加します。

于 2011-11-04T13:09:21.570 に答える
0

私の理解しているDクラスには、すべての一般的なプロパティとアクションメソッドを設定するボタンが必要です。また、クラスごとに異なる機能が必要な場合は、子クラスがアクションの処理を担当する必要があります。

夕食クラスのボタンにターゲットセルフとセレクターを追加したと仮定します。A、B、またはCのオブジェクトを作成しました。夕食クラス(D)のボタンのターゲットはselfです。自己はオブジェクトの表現であるため、自己はクラスA、B、またはcのオブジェクトを指します。

于 2011-11-04T10:57:54.560 に答える