7

より一般的には、コントロール クラスとコントロール セル クラスの違いは何ですか? ボタンには同じ階層があります。たとえば、NSButton と NSButtonCell です。

NSTextField bindingsNSTextFieldCell bindingsのドキュメントを見ると、両方とも「値」について同じドキュメントがあります。両方に価値があるのはなぜですか?一方が他方なしで存在し、それでも値を表示できますか?

NSTextField のコンテンツとして表示される NSString または NSNumber。

NSTextFieldCell のコンテンツとして表示される NSString または NSNumber。

では、テキスト フィールドやその他のコントロールを UI にドラッグするとき、階層内のどのオブジェクトに実際にバインドするかをどのように決定すればよいのでしょうか?

ドキュメント アウトラインに複雑な階層を作成する IB には、はるかに複雑なコントロールがあり、私が検索した限り、バインドと接続に関してどのオブジェクトに焦点を合わせて作業する必要があるかを説明するドキュメントを見つけることができませんでした。 .

私は NSTextField/NSTextFieldCell への回答に落ち着きますが、コントロールを構成するすべてのものと、アプリを開発するときに注目すべきものの違いを識別する方法を本当に知りたいです。

4

2 に答える 2

9

NSTextField にバインドします。NSCells は、画面上での描画を支援するために存在しますが、すべてに独自のビューを与えることがパフォーマンスの問題と見なされていた過去の遺物です。Apple は徐々にそれらを非推奨にしています。それらは多くの同じインターフェイスを公開しますが、必要に応じて NSTextfield は適切な情報をそのセルに正しく委任します。セルの外観をオーバーライドする場合は、実際にセルを変更する必要があります。

于 2016-04-03T21:54:13.250 に答える