たとえば、高さと幅のプロパティを持つSizeクラスがあるとします(実際にはクラスはこれより少し複雑ですが、 )。既存のクラスへのバインディングにコンポジットプロパティを追加する最良の方法
これをUIで$ width x $ heightと表示したいとします。
これを行う明白な方法は、幅と高さに依存するdimensionsプロパティにバインドすることです。
この新しいプロパティを追加する場所はどこですか?
私はこれをモーダルのSizeクラス自体に追加することができましたが、別のコントローラが別の文字列を表示したい場合は、もう1つのプロパティを作成することができません。私の場合は、Sizeクラスが複数の場所で使用されるフレームワークにあるため(これはおそらくすべて私が制御できるコードからのものですが)、私はこれをやるのをやめています。
ビュー/コントローラを含むプロジェクトの中のサイズクラスにカテゴリを追加することができますので、使用することがわかっている場所でのみ使用できますが、さまざまな場所で候補を見たことがあります過度に使用される傾向があり、これがこれらのケースの1つであるかどうか疑問視されています。
単一のサイズのインスタンスの場合、それを含むコントローラクラスでプロパティを作成できましたが、サイズの配列を持つと難しくなります。
サイズオブジェクト全体にバインドしてトランスフォーマを使用して文字列に変換できますが、サイズの配列にバインドすると、配列の各要素をトランスフォーマの新しい配列に変換する必要があります。それは少し醜いようです。
私は実際にこれらのフィールドを編集可能にする必要はないので理想的です。ありがとう! –