1

在 Mac OS X 应用程序 (Cocoa) 中,我将一个项目复制到通用 pasteboardNSPasteboard.generalPasteboard()中。该项目利用实现协议的对象,NSPasteboardItemDataProvider在用户使用另一个应用程序粘贴数据时提供数据。

根据目标应用程序选择的类型,可以完成一些临时工作(如将文件写入临时文件)。

有没有办法检测此操作何时完成或取消,所以我可以在之后进行一些清理(如删除先前创建的临时文件)?

例如,我使用相同的数据提供程序进行拖动复制/粘贴操作。采用NSDraggingSource协议,我实现了 - draggingSession:endedAtPoint:operation:知道何时进行清洁的方法。

4

1 回答 1

0

NSPasteboardItemDataProvider协议具有-pasteboardFinishedWithDataProvider:用于此目的的方法。它被称为给你一个清理的机会。

出于某种原因,这还不够吗?

于 2015-09-05T18:04:57.147 回答