2011-04-08 81 views
1


在我的应用我有somefiles之一NSOutlineView有列表和一个WebView中,
用户可以从大纲视图的WebView拖动任何项目,对,我想处理数据库事务,可可的WebView拖放

在大纲视图,我已经实现下面的方法,

- (BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *)pboard{ 
    [self log:@"write Items”]; 
    // Some other code to prepare the Write Item, 

} 
- (NSDragOperation)outlineView:(NSOutlineView *)outlineView validateDrop:(id <NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(NSInteger)index{ 

} 

- (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id <NSDraggingInfo>)info item:(id)item childIndex:(NSInteger)index{ 

} 

在web视图侧,我已经实现以下,方法,

- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender { 
    NSPasteboard *pboard; 
    NSDragOperation sourceDragMask; 

    [self log:@"Inside draggingEntered”]; 
return NSDragOperationEvery; 
} 

- (BOOL)prepareForDragOperation:(id <NSDraggingInfo>)sender{ 

} 
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender{ 

} 

现在,当我从大纲视图中拖动的元素的WebView,我可以看到,大纲视图的writeItem获取调用,
并在网页视图,dragEnter事件正从我是在哪里,没有返回拖动操作称为无,但返回NSDragoperationEvery,

的问题是,我没有得到方法,prepareForDragOperation和PerformDragOperation,

谁能帮我请,
亲切的问候
罗汉

回答

2


感谢纵观它, 它得到通过覆盖

- (NSDragOperation)draggingUpdated:(id <NSDraggingInfo>)sender{ 
    [self log:@"Inside Dragging updated"]; 
    return NSDragOperationEvery; 
} 

虽然文件中也提到作为一个选项,如果它不执行,它会返回值从解决dragEnter方法,

也许对于我自己的数据类型,它会得到NONE形式的WebView方法和工作一次,我覆盖它。
Kind Regard Rohan