2016-04-03 13 views
3

より一般的には、コントロールクラスとコントロールセルクラスの違いは何ですか?ボタンの階層は同じです(例:NSButtonとNSButtonCell)。NSTextFieldとNSTextFieldCellの違いは何ですか?バインドするものは何ですか?

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

NSTextFieldの内容として表示されるNSStringまたはNSNumber。

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

したがって、テキストフィールドやその他のコントロールをUIにドラッグすると、実際にバインドする階層のオブジェクトをどのように判断できますか?

ドキュメントのアウトラインに複雑な階層を作成する複雑なコントロールがIBにあります。私が検索したほどの複雑なコントロールがあります。どのオブジェクトを集中して作業するべきかを説明するドキュメントを見つけることができませんでしたバインディングと接続の。

私はNSTextField/NSTextFieldCellへの回答を解決しますが、コントロールを構成するすべてのものの差異をどのように判別するのか、アプリの開発に集中すべきであることを本当に知りたいと思います。

答えて

5

NSTextFieldにバインドします。 NSCellsはスクリーン上に物を描くのを助けるために存在しますが、すべてを自分の視点に与えることがパフォーマンス上の問題とみなされるとき、主に過去の遺物です。 Appleは徐々にそれらを非難しています。それらは同じインターフェイスをたくさん公開しますが、必要に応じてNSTextフィールドが適切な情報をセルに正しく委譲します。外観を上書きする予定がある場合は、実際にセルを変更するだけで済みます。

0
  1. NSTextFieldを使用してテキストの色を変更し、デフォルトのテキスト文字列を設定してフィールドの背景を設定します。
  2. NSTextFieldCellを使用して、デフォルトのプレースホルダテキストを設定します。
関連する問題