gpt4 book ai didi

objective-c - NSManagedObject 的 NSPasteboard 类型

转载 作者:行者123 更新时间:2023-12-03 16:29:48 31 4
gpt4 key购买 nike

我需要在应用程序的两个 TableView 之间拖动对 NSManagedObject 的引用。存储对 NSManagedObject 的引用的首选 NSPasteboard 类型是什么?

我当前的解决方案是将对象的 NSManagedObjectID 的 URIRepresentation 存储在 NSPasteboardTypeString 中。我怀疑有一个更优雅的解决方案。

最佳答案

所有模型对象都没有标准类型,因为您的模型对象及其处理方式对于您的应用程序来说是唯一的。如果有一种适用于所有人的纸板类型,那么就无法区分它们了。您自己的自定义对象应该有自己的拖动类型。

只需使用一个有意义的字符串(可能是 #define,这样您就可以在 Xcode 中通过自动完成功能找到它),例如解析为“com.yourcompany.yourapp.yourobjecttype”的“MyObjectPboardType”。

使用 NSPasteboard 的 -declareTypes:owner: 声明您的新类型,然后使用 -setString:forType: 或其他 -set?:forType: 方法之一来设置对象类型的信息。在您的情况下,使用对象 ID 是完全可以接受的标识符。请记住,托管对象的对象 ID 在新对象与持久对象时会发生变化。

关于objective-c - NSManagedObject 的 NSPasteboard 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4424557/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com