我有一个 NSArrayController,用于向 IKImageBrowserView 提供数据。我想支持从 IKImageBrowserView 拖放到其他应用程序。这是我的代码中的相关方法:
- (NSUInteger) imageBrowser:(IKImageBrowserView *) aBrowser writeItemsAtIndexes:(NSIndexSet *) itemIndexes toPasteboard:(NSPasteboard *)pasteboard{
NSArray *items = [[resultsArrayController arrangedObjects] objectsAtIndexes:itemIndexes];
if(![pasteboard writeObjects:items]){
return 0;
}
return [items count];
}
我的应用程序是新的,所以我的目标是 10.6+ 并根据 the documentation ,“在 Mac OS X v10.6 及更高版本上,请使用 writeObjects: 将 URL 直接写入粘贴板。”
我已经验证我尝试写入的对象确实是 NSURL 对象,因此我不确定该过程在哪里发生故障或如何进一步解决该问题。预先感谢您的帮助。
最佳答案
你清除粘贴板了吗?您需要这样做,从而成为粘贴板的所有者,然后才能将对象写入粘贴板。
关于cocoa - 为什么是-[NSPasteboard writeObjects :] returning NO for an array of NSURL objects?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3903010/