在 Mac OS X 应用程序 (Cocoa) 中,我将一个项目复制到通用 pasteboardNSPasteboard.generalPasteboard()
中。该项目利用实现协议的对象,NSPasteboardItemDataProvider
在用户使用另一个应用程序粘贴数据时提供数据。
根据目标应用程序选择的类型,可以完成一些临时工作(如将文件写入临时文件)。
有没有办法检测此操作何时完成或取消,所以我可以在之后进行一些清理(如删除先前创建的临时文件)?
例如,我使用相同的数据提供程序进行拖动复制/粘贴操作。采用NSDraggingSource
协议,我实现了
- draggingSession:endedAtPoint:operation:
知道何时进行清洁的方法。