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

Iva*_*tic 3 objective-c

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

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

AppDelegate.h

@interface AppDelegate : NSObject <NSApplicationDelegate>

@property (assign) IBOutlet NSWindow *window;

...

- (IBAction)about:(id)sender;

...

@end
Run Code Online (Sandbox Code Playgroud)

宣布行动

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
Run Code Online (Sandbox Code Playgroud)

在按钮上执行操作点击:

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

这似乎是什么问题?

CRD*_*CRD 11

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

[[NSApplication sharedApplication] openURL:web_url];
Run Code Online (Sandbox Code Playgroud)

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

[[NSWorkspace sharedWorkspace] openURL:web_url];
Run Code Online (Sandbox Code Playgroud)