3

我对 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

似乎是什么问题?

4

1 回答 1

11

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

[[NSApplication sharedApplication] openURL:web_url];

并且说NSApplication没有方法被调用openURL:。在 iOS 上,UIApplication该类有这样的方法,而在 OS X 上,NSWorkspace该类有这样的方法。鉴于您使用NSApplication我猜您想要 OS X 机箱,因此应该使用:

[[NSWorkspace sharedWorkspace] openURL:web_url];
于 2013-07-15T02:54:23.140 回答