0

私のアプリケーションでは、NSMutableDictionaryすべてUIElementsUIButton、など)に関連付けたいので、各要素をサブクラス化することでこれを簡単に実現できますが、すべてのスーパークラスとして、タイプのプロパティを持つ独自のサブクラスUILableを作成できるかどうかを知りたいだけですとにかくプログラムで作成されたので、サブクラスの数を減らすことができます。UIControlNSMutableDictionaryUIElement

このように

@interface UIControl : MyControls
{

}
@property(nonatomic,retain) NSMutableDictionary *details;
@end

プログラムで作成MyControlsされたすべてのUIElementのスーパークラスとして作成します

4

1 に答える 1

0

サブクラス化するのではなく、独自のプロパティとメソッドをUIControlそれ自体 ( 、 などのスーパークラスUIButton)に追加することで、これを行うことができますUILabel。これらは、インスタンス化する標準のボタン、ラベルなどに継承されます。Objective-C では、 Categoriesを使用して独自のメソッドを非常に簡単に追加できます。ただし、カテゴリを介してインスタンス変数を追加することはできません。これを行うには、 Objective-C ランタイム リファレンスに記載されている連想参照を使用する必要があります。

これを行う方法に関する優れたチュートリアルがここにあります。

ところで、私は混濁に必ずしも反対ではありません。しかし、あなたがこのルートに行きたいと確信しているなら、それがあなたのやり方です。

于 2012-12-26T23:01:10.510 に答える