1

私は独特の警告、特にこれを受け取っています:

warning: class does not implement the 'UIWebViewDelegate' protocol

...アプリケーションにこれらのメソッドがある場合:

-(void)webViewDidStartLoad {
    ...
}

-(void)webViewDidFinishLoad {
    ...
}

...そしてUIWebViewのデリゲートをに設定した後でも、selfこの警告が表示され、メソッドが呼び出されることはありません(NSLog結果は提供されません)。

誰かがここで何が起こっているのかを正確に特定できますか?前もって感謝します!

4

2 に答える 2

3

あなたのデリゲートメソッドは正しくないと思います。彼らはすべきではありません:

- (void)webViewDidStartLoad:(UIWebView *)webView
{
}

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
}
于 2010-09-23T04:49:34.430 に答える
3

「特に@Noon」が言うように、メソッドは正しく宣言されていません。そのため、メソッドはまったく呼び出されません。

警告には別の理由があります。これは、インターフェイス定義がUIWebViewDelegateプロトコルの実装を宣言していないためです。

@interface MyClass : NSObject <UIWebViewDelegate> {
...
}
...
@end

インターフェイスがプロトコルを宣言するかどうかは、実行時に実際には重要ではありませんが、これは、表示されているような警告、またはメソッドを実装しない場合の警告を発行できるようにするコンパイラへのヒントにすぎません。

于 2010-09-23T05:35:25.223 に答える