我得到了一个奇怪的警告,特别是这个:
warning: class does not implement the 'UIWebViewDelegate' protocol
...当我在我的应用程序中使用这些方法时:
-(void)webViewDidStartLoad {
...
}
-(void)webViewDidFinishLoad {
...
}
...甚至在将UIWebView的委托设置为self
之后,我仍然收到此警告,并且永远不会调用这些方法(NSLog
不提供任何结果。)
任何人都可以查明这里发生的事情吗?提前谢谢!
答案 0 :(得分:3)
我认为您的委托方法不正确。它们不应该是:
- (void)webViewDidStartLoad:(UIWebView *)webView
{
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
}
答案 1 :(得分:3)
正如'特别是@No on'所说,你的方法没有正确宣布。这就是为什么根本不调用这些方法的原因。
警告有不同的原因。这是因为您的接口定义未声明它实现了UIWebViewDelegate
协议。
@interface MyClass : NSObject <UIWebViewDelegate> {
...
}
...
@end
接口是否声明协议实际上在运行时没有任何后果,它只是对编译器的一个提示,它允许它发出类似你看到的警告,或者如果你没有实现警告方法。