0

在 Mac 桌面应用程序中,我收到“无法识别的选择器发送到实例”错误。

这是导致错误的行:

    My_WebView *mvw = [mWebView LoadHtml];

这是相关的类定义:

My_WebView.h

    #import <WebKit/WebKit.h>  

    @interface My_WebView : WebView
    {
    }

    - (My_WebView *) LoadHtml; // initialize the WebView with a page

    @end

My_WebView.mm

    #import  "My_WebView.h"

    @implementation My_WebView

    - (My_WebView *) LoadHtml
    {
        NSLog(@"Loading HTML...");
        // do stuff...
        return self;
    }

    @end

当我在 XCode 调试器中运行我的代码并在有问题的行中断时,我被告知这mWebView是预期的类型 ( My_WebView)。这排除了我在这里看到的许多类似 问题 中发现的问题。

有谁知道我做错了什么?

4

1 回答 1

0

我想到了。我很困惑。该实例不是正确的类型!

XCode 调试器说这mWebView是一个指向My_WebView.

    mWebView    My_WebView *    0x000000010e0884c0

这让我错误地认为,这My_WebView也是mWebView. NSLog(@"mWebView: %@", mWebView);事实并非如此po mWebView

     mWebView: <WebView: 0x1180ca4c0>

mWebView实际上只是一个普通的老可可WebView。这就是它没有回复LoadHTML消息的原因。问题解决了。

于 2013-09-24T23:45:36.200 回答