0

iOS UIView クラスを拡張して、独自のデータと状態の一部を UIView インスタンス内に保存できるようにしたいと考えています。私はiOSが初めてです。インスタンス変数をカテゴリに追加できないことを理解しているため、おそらく UIView に新しい状態を追加することはできません。

そこで、各 UIView に固有のタグがあり、NSArray へのインデックスとして使用され、NSArray の各項目がその特定の UIView に関する追加の状態情報を保持する NSArray を作成することを考えています。ここでの欠点は、タグと NSArray の管理です。カテゴリを介して任意の UIView に状態を直接追加できれば、はるかに簡単になります。

いくつかのインスタンス変数と状態を UIViews に追加するための最良の方法を教えてもらえますか? 私は多くの UIView サブクラスを使用しているため、UIView のサブクラス化を実際に開始したくありません。

ありがとう。

4

2 に答える 2

1

連想参照を使用すると、サブクラス化したくない理由がわかりませんが、やりたいことを実行できます(サブクラスがたくさんあるとすでに言っています-おそらく、サブクラス化のより良い戦略がより良い解決策になるでしょうか?)。

于 2012-06-04T07:39:30.453 に答える
0

UIView.tagそのためにプロパティを使用するだけです。そのNSInteger(長い)ので、別の場所にマップを配置できます。

于 2013-06-25T18:09:29.063 に答える