1

我收到一个特殊的警告,特别是这个:

warning: class does not implement the 'UIWebViewDelegate' protocol

...当我的应用程序中有这些方法时:

-(void)webViewDidStartLoad {
    ...
}

-(void)webViewDidFinishLoad {
    ...
}

...即使将 UIWebView 的委托设置为self,我仍然收到此警告,并且永远不会调用这些方法(NSLog不提供任何结果。)

谁能查明这里发生了什么?提前致谢!

4

2 回答 2

3

正如'@No on特别'所说,您的方法没有正确声明。这就是为什么根本不调用这些方法的原因。

警告有不同的原因。这是因为您的接口定义没有声明它实现了UIWebViewDelegate协议。

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

接口是否声明协议实际上在运行时并不重要,它只是对编译器的一个提示,允许它发出类似于您所看到的警告,或者如果您不实现方法则发出警告。

于 2010-09-23T05:35:25.223 回答
3

我认为您的委托方法不正确。他们不应该是:

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

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
}
于 2010-09-23T04:49:34.430 回答