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 に答える