在Mac OS X应用程序(Cocoa)中,我正在将项目复制到常规粘贴板NSPasteboard.generalPasteboard()
中。该项使用实现协议NSPasteboardItemDataProvider
的对象,以在用户使用其他应用程序粘贴数据时提供数据。
根据目标应用程序选择的类型,可以完成一些临时工作(将文件写入临时文件)。
有没有办法检测此操作何时完成或取消,所以我可以在删除之前创建的临时文件后进行一些清理?
例如,我使用相同的数据提供程序来拖动复制/粘贴操作。采用NSDraggingSource
协议,我实施方法
- draggingSession:endedAtPoint:operation:
以了解何时进行清理。
答案 0 :(得分:0)
NSPasteboardItemDataProvider
协议为此目的使用方法-pasteboardFinishedWithDataProvider:
。它被称为给你一个清理的机会。
出于某种原因,这还不够吗?