Cocoa:从另一个类调用 App Delegate 方法
Posted
技术标签:
【中文标题】Cocoa:从另一个类调用 App Delegate 方法【英文标题】:Cocoa: Call App Delegate Method from another Class 【发布时间】:2010-12-06 04:17:58 【问题描述】:我目前正在尝试从自定义视图内的拖放操作中获取文件的路径,然后将该路径传递给我的应用程序委托。我目前正在使用以下内容:
- (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”方法。它是在我的应用程序委托中声明的。我是否以正确的方式访问 NSApplication?
谢谢。
【问题讨论】:
【参考方案1】:我认为问题在于您指的是应用程序而不是它的委托。这应该有效:
苹果机
[(YourAppDelegate *)[[NSApplication sharedApplication] delegate] uploadFiles:array]
将 YourAppDelegate 替换为您的实际应用代理名称,并确保 #import 它。
【讨论】:
不应该是NSApplication吗? @JasperPol 没错,当我 4 年前回答这个问题时,我只是在开发 ios 应用程序。固定。以上是关于Cocoa:从另一个类调用 App Delegate 方法的主要内容,如果未能解决你的问题,请参考以下文章
Cocoa (Xcode 4),从另一个 NIB 更改一个 NIB 上的标签
Interface Builder 和 Cocoa:在 App Controller 类后面连接