NSApplication没有可见的@interface声明选择器openURL

时间:2013-07-15 02:46:07

标签: objective-c

我对Objective C很新,我之前没有使用过MVC系统。

我正在尝试通过默认浏览器重定向到URL,这是相关代码:

AppDelegate.h

@interface AppDelegate : NSObject <NSApplicationDelegate>

@property (assign) IBOutlet NSWindow *window;

...

- (IBAction)about:(id)sender;

...

@end

宣布行动

AppDelegate.m

@implementation AppDelegate

...

- (IBAction)about:(id)sender {

    NSURL *web_url = [NSURL URLWithString:@"http://www.someurl.com/"];
    [[NSApplication sharedApplication] openURL:web_url]; // error location
}

...

@end

在按钮上执行操作点击:

IDE错误:NSApplication没有可见的@interface声明选择器openURL

似乎是什么问题?

1 个答案:

答案 0 :(得分:11)

您可能会在这里混淆iOS和OS X.您的错误消息与:

有关
[[NSApplication sharedApplication] openURL:web_url];

并且说NSApplication没有名为openURL:的方法。在iOS上,UIApplication类具有这样的方法,而在OS X上,NSWorkspace类具有这样的方法。鉴于你使用NSApplication我猜你想要OS X案例,所以应该使用:

[[NSWorkspace sharedWorkspace] openURL:web_url];