【发布时间】:2011-08-30 13:11:36
【问题描述】:
我很难让 NSPasteboard 工作,所以请原谅我缺乏理解。
我想要的只是一种简单的方法,可以在粘贴板中写入和检索仅适用于我的应用程序的 NSUInteger 值。我所做的只是在我的应用程序中拖放一个项目,所以我在粘贴板中需要的只是项目的 ID。
我曾尝试研究 NSPasteboardItemDataProvider 和 NSPasteboardItem 以及 NSData,但它们都以复杂的方式来做如此简单的事情。事实上,我不知道做如此简单的事情的正确方法是什么——周围的每个样本似乎都处理字符串类型,或者更复杂的事情。 [NSMutable SetData] 选择器似乎也不存在,即使代码中没有警告。
如果有人能指出我正确的方向,我将不胜感激。 :)
编辑:我正在使用 [dragImage ...] 来帮助我进行拖动操作。
【问题讨论】:
-
你为什么要使用 NSPasteboard 来做类似的事情?如果您不想/需要应用程序之外的数据,这是一个非常糟糕的决定。您应该使用属性、委托、通知或至少 NSUSerDefaults。
-
我仍在学习如何使用 Cocoa,所以我可能并不总是选择最好的方法。我正在执行拖放操作以将一个(多个)视图从一个区域移动到另一个区域,所以我认为这是实现它的好方法。它还具有通常用于此类操作的漂亮回滚图像。
-
@fichek:NSPasteboard 是实现拖放的一部分。
-
@PeterHosey 是的,我后来才注意到他指的是 Mac,抱歉 :)
标签: cocoa macos nspasteboard