2

ユーザーが行をダブルクリックしたときの「詳細ビュー」が欲しいのですが、データを NSViewController に取得する方法がわからないので、コンテンツを表示できます。CoreData を使用していますが、これを行う方法が思いつきません。

4

2 に答える 2

1

ここでは、いくつかの手順を実行する必要があります。

  1. テーブルビューがによって駆動され、NSArrayControllerテーブルビューのコントローラー(ウィンドウコントローラーまたはビューコントローラーなど)がNSArrayControllerivarにバインドされていることを確認して、アクセスできるようにします。

  2. テーブルコントローラーでダブルクリックアクションをコントローラーのメソッドに設定し、ターゲットをコントローラーに設定します。

  3. -selectedObjectsダブルクリック メソッドでは、からをリクエストすることで行にアクセスでき、NSArrayControllerその結果NSArrayには要素が 1 つだけ含まれている必要があります。

そこから、詳細ビューを作成したり、それでやりたいことが何でもできます。シートを作成して表示したり、モーダルウィンドウを開くことができます。

于 2010-01-14T05:29:56.367 に答える
1

ココアバインディング。
Apple には、Master-Detail インターフェイスのオンライン作成に関する優れたチュートリアルがあります。
Xcode 3.2 を使用している場合、スクリーンショットは少し古くなっていますが、それほど違いはありません。

NSViewController には、現在表示しているモデル オブジェクトにバインドできる、presentedObject プロパティがあります。

編集: わかりました。それは真実の半分にすぎないので、私の答えはそれほど素晴らしいものではありません.
詳細ビュー内でコントロールをバインドする方法を示していますが、アレイ コントローラーの選択をビュー コントローラーの にバインドする方法については説明していませんrepresentedObject
この問題に対するバインディングのみの解決策に興味があります。

于 2010-01-12T08:16:06.810 に答える