2011-10-29 4 views
1

私はNSOutlineViewのドラッグアンドドロップを設定しています。親子はすべてグループエンティティです。私はoutlineView:validatedropメソッドでこれを行う必要があることを理解しています。私は親のすべての子を取得するためにNSPredictateを使ってNSFetchRequestを作成する必要があると思うが、述語がどうあるべきか分からない。NSOutlineViewドラッグアンドドロップ:子どもがその子の1つにドロップされないようにする方法

編集:再帰的に行う必要があるため、子どもの子もあればそれを取得する必要があります。

提案がありますか?

答えて

0

が解決:

代わりのコアデータオブジェクトを掘り下げるを、私はAppleのsample code以下、代わりにNSTreeNodesを見てください。

バインディングは、基盤となるコアデータモデルを更新します。もう一度、複雑すぎると思われる場合は、おそらく正しいアプローチではありません。

1
- (NSDragOperation)outlineView:(NSOutlineView *)ov validateDrop: 
(id <NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(NSInteger)childIndex; 

上記の方法では、ドラッグ項目を管理することも、受け入れることもできません。返信してください。NSDragOperationNoneは、落下を防ぐことを意味します。

関連する問題