一千萬個為什麽

搜索

NSOutlineView元素仍然無可救藥地無法實現

我有一個帶有NSOutlineView的程序(僅支持單選),我希望能夠拖動元素。這些元素應該作為文本或文件接收:例如,將項目放在TextEdit窗口上應該放置文本,但是在Finder上刪除項目應該創建一個文件。我不希望任何東西掉在我的大綱視圖上,即使它來自它自己。這似乎很容易,但由於某種原因,我無法讓它工作。

我檢查了Apple的NSOutlineView拖放示例,然後我開始實現以下方法(加上一些絕對不相關的方法):

-(BOOL)outlineView:shouldSelectItem://I don't expect to drag unselectable items
-(NSArray*)outlineView:namesOfPromisedFilesDroppedAtDestination:forDraggedItems:
-(BOOL)outlineView:writeItems:toPasteboard:

但是,當我嘗試從大綱視圖中拖動項目時,沒有任何反應。相反,它只是更改光標後面的選擇。

我已經在最後兩種方法中加入了斷點,並且它們永遠不會被調用,因此它們的實現不是直接的問題。

我必須在這裏遺漏一些非常明顯的東西。

此外,這不是一個問題,但我應該如何為我承諾的文件提供內容?

最佳答案

我是愚蠢的,我實現了委托中的方法而不是數據源(這兩個在我的應用程序中是不同的)。問題解決了!

轉載註明原文: NSOutlineView元素仍然無可救藥地無法實現