NSTableView 拖动冻结停靠

NSTableView drag freezes dock

当我将 NSTableView(基于视图)项目拖到停靠栏上时,停靠栏冻结。 IE。进入Dock区域时有精灵效果,但随后就卡住了。

我实现了:

func tableView(_ tv: NSTableView, pasteboardWriterForRow row: Int)
     -> NSPasteboardWriting?

为了使行可拖动,它返回一个自己的 NSObject 实现 NSPasteboardWriting,没什么特别的(声明一个字符串和一个自定义类型)。

此外,D&D 在应用程序中运行良好。它只是用于外部拖动,当它开始失败时。

问:知道我做错了什么吗? :-)

示例代码:https://gist.github.com/helje5/48728983951ab3362af43b967c554475

P.S.: 我也有一个自定义视图实现 NSDraggingSource 本身,这似乎工作得很好。

当将无法拖放到应用程序外部的项目拖到 Dock 上时,Dock 的动画会冻结。通话

func setDraggingSourceOperationMask(_ mask: NSDragOperation, forLocal isLocal: Bool)

forLocalfalse 使项目可以在应用程序外放置。