2012-03-01 8 views
0

アマチュアObj-C/Cocoaの開発者の一人として、私は最近、自分のソフトウェアのNSTableViewでドラッグアンドドロップ操作を可能にすることに取り組んでいます。それに悩まされた後、何かが私の心を越えた:なぜ私たちは直接テーブルビューと対話しているのだろうか?テーブルのバインドされたNSArrayControllerを介してアイテムを削除して再挿入することでドラッグアンドドロップを実装する方が良いのではないでしょうか?バインディングを使用してNSTableViewのドラッグアンドドロップの再配置を実装しますか?

第2に、このような共通機能を追加するためのより洗練されたソリューションがないのはなぜですか?これは、アップルがドロップデッドを容易に実装したいと思うようなものだと思われる。

第3に、これらの声明のいずれかが無知に見える場合、私を許してください!私はソフトウェアのさまざまな部分を一緒にまとめるのに十分なことを知っていますが、私は専門家に近いものでもありません。

答えて

1

this post on Red Sweater Software's blogもチェックします。彼はあなたのドラッグアンドドロップを処理するNSArrayControllerのサブクラスをドロップします。複数の画像のドラッグを適切にサポートしたい場合(Lionで導入されています)、少し更新する必要があるかもしれませんが、開始するのに最適な場所です。

1

私はCarbonアプリケーションを21世紀に更新し始めたばかりです。デベロッパーセンターを使い始めるには、いくつかの参考資料があります。特にWWDC 2011ビデオセッション120 - ビューベースのNSTableViewとそれに付随する関連プロジェクト、特にTableViewPlaygroundNSTableCellViewベースの表をバインディングの有無に関係なく示します。 NSArrayControllerの使用法も示しています。

CocoaアプリケーションのMVCパラダイムに慣れるのは間違いですが、Cocoaの素晴らしい点は、プロトタイプをどのように素早く作成して、すぐに追加することができるかということです。実際、私はTableViewPlaygroundから始め、必要のないビットを取り除きたいと思っています。

関連する問題