Swift:在窗口中通过拖放打开文件

seb*_*dev 6 macos swift

在Swift中,如何在Mac应用程序的窗口中构建一个区域,用户可以将文件夹拖放到此区域,并让我的应用程序接收文件夹的路径?

原则上,在我看来,这是与Apple的CocoaDragAndDrop示例应用程序类似的概念.我试图通过理解源代码来解决问题,但应用程序是用Objective-C编写的,我没有成功地在我正在构建的应用程序中复制其功能.

先感谢您.

use*_*499 5

在自定义NSView中:

override init(frame frameRect: NSRect)
{
    super.init(frame: frameRect)
    registerForDraggedTypes([kUTTypeFileURL,kUTTypeImage])
}

override func draggingEntered(sender: NSDraggingInfo) -> NSDragOperation
{
    println("dragging entered")
    return NSDragOperation.Copy
}
Run Code Online (Sandbox Code Playgroud)

问题是,为了使其工作,我必须将自定义视图作为叶子和故事板中的最后一个视图