2

NSOutlineViewアプリケーションのソースリストとして機能し、データモデルはCoreDataで作成されています。次のように、バインディングを使用して(可能であれば)これらのものを接着したいと思います。

モデルには3つの主要なエンティティがあります。たとえば、「店舗」、「車」、「人」と呼びましょう。

私の目標は、アウトラインビューに3つの「グループ」(iTunesのプレイリストなどの拡張可能なノード)を持たせ、各グループが私のエンティティの1つを表し、一覧表示することです。また、ウィンドウの下部に「追加」するための3つのボタンがあります。そのアクションを実行するために配線したい「Store」、「AddCar」など。

これまでのところ、ウィンドウのペン先には、ウィンドウコントローラーのNSManagedObjectContextインスタンスにバインドされているTreeControllerがありますが、TreeControllerからアウトラインビューを適切にバインドして設定する方法がわかりません。

これはバインディングで可能ですか?アウトラインノードのエンティティを使用して2番目の管理対象オブジェクトモデルを作成するチュートリアルを見たことがありますが、この記事に対するコメントの中には、これは悪い考えだと書かれているものもあります。どうすればいいのかよくわかりません。どんな助けでも素晴らしいでしょう!

4

1 に答える 1

2

Cocoa Bindingsプログラミングのトピックを試してください:コントローラーコンテンツの提供セクション

私が行ったことは、エンティティのカスタムクラスを作成し、isLeafそれらにプロパティを追加することでした。トップレベル(店舗、車、人)の場合は戻りnoます。リーフノード(車、人など)の場合は戻りYESます。

トップレベルはリーフノードと多対の関係を持つ必要があります。私はこれを呼び出しましたchildren

Interface Builderで、NSTreeControllerのモードをEntity、name:に設定しましたGroups。これは、managedObjectContextにバインドされています。Key PathsIで、Children属性を、、childrenおよびにLeaf設定しましたisLeaf

于 2009-12-23T21:03:23.797 に答える