Cocoa 将NSData和文件扩展名放入粘贴板

Cocoa 将NSData和文件扩展名放入粘贴板,cocoa,drag-and-drop,nsdata,nspasteboard,Cocoa,Drag And Drop,Nsdata,Nspasteboard,我已经在网上搜索了很长一段时间,找到了一个问题的答案,这个问题让我感到困惑 我有一个子类NSView,希望它是可拖动的。当发布到桌面时,您希望保存为一个文件,其中包含我已分配的NSData以及已分配的扩展名 我想我需要打正确的电话: [self dragImage:pic at:NSMakePoint(50, 50) offset:NSMakeSize(50, 50) event:theEvent pasteboard:pboard source:self slideBack:NO]; 但是我

我已经在网上搜索了很长一段时间,找到了一个问题的答案,这个问题让我感到困惑

我有一个子类NSView,希望它是可拖动的。当发布到桌面时,您希望保存为一个文件,其中包含我已分配的NSData以及已分配的扩展名

我想我需要打正确的电话:

[self dragImage:pic at:NSMakePoint(50, 50) offset:NSMakeSize(50, 50) event:theEvent pasteboard:pboard source:self slideBack:NO];

但是我已经找了几个小时了,没有找到任何可以帮助我的东西。

您尝试过使用NSView上的文件拖动方法吗


我想我需要的是:从rect:[self-frame]中拖动文件名mouseDragged:NSEvent*theEvent{[self-dragPromisedFilesOfTypes:[NSArray arraywhithobject:@pdf]fromRect:[self-frame]来源:self-slideBack:YES事件:theEvent];[super-mouseDragged:theEvent];}-NSArray*namesofpromiedfilesdroppedatddestination:NSURL*目的地{ NSLog@destination=%@,目标;NSRect r=[self-bounds];NSData*data=[self-dataWithPDFInsideRect:r];NSMutableString*temp=[nsmutablestringwithcapacity:0];[temp-appendString:[目标路径];[temp-appendString:@/test.pdf];//文件名[data writeToFile:temp-atomicaly:YES];返回[NSArray-arrayWithObject:@test];]
- (BOOL)dragFile:(NSString *)filename fromRect:(NSRect)rect slideBack:(BOOL)aFlag event:(NSEvent *)event;
- (BOOL)dragPromisedFilesOfTypes:(NSArray *)typeArray fromRect:(NSRect)rect source:(id)sourceObject slideBack:(BOOL)aFlag event:(NSEvent *)event;