是否可以在拖放操作中将指针传递给对象?
这是场景...
我有一个自定义对象的“NSArray”。为了争论,我们会说这是一个人对象的列表。
该列表NSTableView
通过一个NSArrayController
. 这NSTableView
是一个拖动源,我有一个NSView
作为拖动目的地。
实现拖放时,我可以在拖动过程中轻松地从NSArrayController
as中获取当前选定人员的姓名,NSString
并将其传递给NSView
.
但是,我希望能够将指针传递给 person 对象,以便接收者可以访问整个对象。
问题似乎是拖动操作创建了一个新的人员对象实例,并且尽管在人员模型中实现了所需的方法,但并没有对选定的人员对象进行引用。结果,我在目的地得到了一个人对象,它只是没有填充来自对象的数据。
理想情况下,我想要对象指针,因为 NSView 将使用对象引用,以便对对象本身的任何更新都反映在NSView
和NSTableView
(以及使用对象的其他任何地方)中。
是否甚至可以在拖放操作中使用对象引用,或者我是否需要传递一些自定义引用,即 person 对象的 iVar,然后在它到达目的地后进行查找?(考虑到引用 Obj-c 的对象有多少,这对我来说似乎有点过时)。
我知道目标可以接受来自应用程序外部的拖动操作,但是将操作指定为本地操作会解决这个问题,不是吗?
我已经检查了苹果文档,但似乎仍然无法找到答案。
非常感谢任何和所有帮助。