2009-05-30 10 views
1

アウトラインビューでドラッグアンドドロップを実装する方法に関するチュートリアルhere が見つかりました。私が持っている唯一の問題は、チュートリアルのコードをどこに置くべきかわかりません。コードをXcodeプロジェクトに入れて、どこで動作させるべきか教えていただけたら大いに感謝します。ありがとう!NSTreeController、NSOutlineViewをドラッグアンドドロップで使用する

答えて

4

また、をチェックアウトすることもできます(順序付けされていないツリーの詳細についてはpart twoもあります)。

特に、リンクされたチュートリアルには、開始する必要があるXCodeプロジェクトが含まれています。 DragController.mを参照して、リンクで参照したコードをどこに置くかを確認してください。

+0

ドラッグコントローラーをプロジェクトに追加するだけで、リンク内のコードを使用しようとしましたが、コアデータが機能しなくなりました。 – Joshua

+0

リンクされたチュートリアルからXCodeプロジェクトをコンパイルして実行すると、すべてがドラッグアンドドロップで広告として動作することがわかります。その場合、この例はあなたのすべての質問に答えるのに十分であるはずです。チュートリアルの説明を慎重に勉強して、すべての手順に従うことをお勧めします。例としてDragController.mを使用するだけです。プロジェクトにドロップすることはできません。 – Naaff

+0

もう一度見ます。 – Joshua

2

デリゲート/データソースメソッドなので、アウトラインビューのデリゲートとデータソースに配置します。通常これはあなたのコントローラーオブジェクトですが、IBまたはプログラムで接続を接続するのはあなた次第です。バインディングは低レベルのコードの知識を置き換えるものではないので、実際にバインディングやコアデータを使用する前に、データソースとデリゲートメソッドがどのように機能するかを学習することをお勧めします(そして、バインディングに関する多くの問題に遭遇するでしょう基本をしっかりと理解している)。

また、NSTreeControllerはプライベートメソッドを使わずに実際に観測されたオブジェクトを取得できるはずだと聞いたことから、10.5から少し改善されました。

+0

本当に、プライベートメソッドを使わずに実際に観測されたオブジェクトを取得する方法に関するチュートリアルはありますか? – Joshua

+0

ドラッグアンドドロップを実装するために、配置オブジェクトを使用する方法> – Joshua

4

アップルは、それを行う方法を説明するサンプルコードをリリースしました。 http://developer.apple.com/library/mac/#samplecode/DragNDropOutlineView/Introduction/Intro.html

これはインターネットで見つかった他のすべてのサンプルよりはるかに優れています。

+0

ああ、それはとてもいいです。私がその質問に答えたときにこれを気付かなかった。すべてのこの質問には、私は他の代わりにこの答えを使用することをお勧めします。再度、感謝します。 – Joshua

+0

このサンプルコードは現在10.7+でしか動作しないため、古いバージョンをサポートしたい場合は気にしないでください。誰かがこのサンプルコードの2009バージョンを入手する方法を知っている場合は、コメントを追加してください。 – Mark

関連する問題