2013-04-02 24 views
0

我敢肯定这是一个noob的问题,但我读过无数类似的问题,并没有找到具体到这个错误的解释。因此,我发布了希望帮助未来的Google员工。没有已知的类选择器mainFrame的方法

我想要一个点击按钮(OSX,Cocoa)在WebKit WebView中启动一个URL。我使用的是AppDelegate中和(样板,工程换大家-其他)代码AppDelegate.m是:

- (IBAction)goClick:(id)sender { 
    [[WebView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"google.com"]]]; 
} 

编译时错误是为选择的mainFrame没有已知的类方法。

我发现,如果我在AppDelegate.h创建一个出口:

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

它适用于:

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

所以它所有的作品有一个实例(self.wvOutlet)方法,但不与方法mainFrame在类WebView上。

为什么?

回答

0

[WebView mainFrame]正试图调用类方法+mainFrame。没有这样的类方法存在。

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

+0

是的,我知道。我的问题是为什么所有记录的示例都使用'[[WebView mainFrame]'并且在哪种情况下可行?更新:我现在看到我错误地将webView视为WebView,因此它是示例中的实例方法! – Marc

0

看来我拼写为webView(实例)为WebView

解决方法:申报出口webViewAppDelegate.h文件:

@property (weak) IBOutlet WebView *webView; 

那么你应该能够做到:

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

免责声明:没有测试!

相关问题