Cocoa 选择器大型机没有已知的类方法

Cocoa 选择器大型机没有已知的类方法,cocoa,xcode4,webkit,Cocoa,Xcode4,Webkit,我确信这是一个noob问题,但我读过无数类似的问题,却没有找到一个针对这个错误的解释。因此,我发帖是希望能帮助未来的谷歌用户 我想要一个点击按钮(OSX,Cocoa)在WebKit WebView中启动URL。我使用的是AppDelegate,AppDelegate.m中的(样板文件,适用于所有其他人)代码是: - (IBAction)goClick:(id)sender { [[WebView mainFrame] loadRequest:[NSURLRequest requestWi

我确信这是一个noob问题,但我读过无数类似的问题,却没有找到一个针对这个错误的解释。因此,我发帖是希望能帮助未来的谷歌用户

我想要一个点击按钮(OSX,Cocoa)在WebKit WebView中启动URL。我使用的是AppDelegate,AppDelegate.m中的(样板文件,适用于所有其他人)代码是:

- (IBAction)goClick:(id)sender {
    [[WebView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"google.com"]]];
}
编译时错误是选择器大型机没有已知的类方法

我发现如果我在AppDelegate中创建了一个出口。h:

@property (nonatomic, retain) IBOutlet WebView *wvOutlet;
它与:

[[self.wvOutlet mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"google.com"]]];
因此,它都使用实例(
self.wvOutlet
)方法,但不使用类
WebView
上的方法
mainFrame


为什么?

[WebView mainFrame]
正在尝试调用类方法
+mainFrame
。不存在这样的类方法


[self.wvOutlet mainFrame]
正在调用实例方法
-mainFrame
。这是正确的。

似乎我把
webView
(一个实例)拼错为
webView

解决方案:在
AppDelegate.h
文件中声明outlet
webView

@property (weak) IBOutlet WebView *webView;
那么你应该能够做到:

[[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"google.com"]]];

免责声明:尚未测试

是的,我知道。我的问题是为什么所有文档化的示例都使用
[[WebView mainFrame]
,在什么情况下有效?更新:我现在看到我将WebView错误地输入为WebView,因此它是示例中的一个实例方法!