【问题标题】:No known class method for selector mainFrame选择器 mainFrame 没有已知的类方法
【发布时间】:2013-04-02 19:28:21
【问题描述】:

我确定这是一个菜鸟问题,但我已经阅读了无数类似的问题,但没有找到特定于该错误的解释。因此,我发帖希望对未来的谷歌人有所帮助。

我想要一个单击按钮(OSX、Cocoa)在 WebKit WebView 中启动 URL。我正在使用 AppDelegate 并且 AppDelegate.m 中的(样板,适用于所有人)代码是:

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

编译时错误是No known class method for selector mainFrame

我发现如果我在 AppDelegate.h 中创建了一个 Outlet:

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

它适用于:

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

所以这一切都适用于实例 (self.wvOutlet) 方法,但不适用于类 WebView 上的方法 mainFrame

为什么?

【问题讨论】:

    标签: cocoa xcode4 webkit


    【解决方案1】:

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

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

    【讨论】:

    • 是的,我知道。我的问题是为什么所有记录的示例都使用 [[WebView mainFrame] 以及在什么情况下有效?更新:我现在看到我将 webView 错误地输入为 WebView 所以它是示例中的实例方法!
    【解决方案2】:

    看来我把webView(一个实例)拼错了WebView

    解决方案:在您的AppDelegate.h 文件中声明出口webView

    @property (weak) IBOutlet WebView *webView;
    

    那么你应该可以做到:

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

    免责声明:尚未测试!

    【讨论】:

      猜你喜欢
      • 2013-11-21
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多