我目前正在尝试通过自定义视图内的拖放操作获取文件的路径,然后将该路径传递给我的应用代理。我目前正在使用以下内容:
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
{
NSPasteboard *pb = [sender draggingPasteboard];
NSString *type = [pb availableTypeFromArray:[NSArray arrayWithObject:NSFilenamesPboardType]];
NSArray *array = [[pb stringForType:type] propertyList];
//access the app delegate
NSApplication *myApplication;
myApplication = [NSApplication sharedApplication];
[myApplication uploadFiles:array];
return NO;
}
但是,我不断收到一条消息,指出我的应用委托不响应“uploadFiles”方法。它在我的app委托中声明。我是否以正确的方式访问NSApplication?
感谢。
答案 0 :(得分:10)
我认为问题在于你指的是申请而不是代表。这应该有效:
<强>苹果强>
[(YourAppDelegate *)[[NSApplication sharedApplication] delegate] uploadFiles:array]
将YourAppDelegate替换为您的实际应用代理名称,并确保#import it。