我认为用UIWebView(和delegate = self)对每个viewController实现完全相同的方法并不聪明。所以试图设置所有UIWebView的通用加载方法。但它没有奏效。 用类别实现是否是错误的?按类别常见的webViewDidStartLoad
的UIWebView + Loading.m
-(void)webViewDidStartLoad:(UIWebView*)webView
{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
}
ViewController.h
@interface ViewController : UIViewController <UIWebViewDelegate>
ViewController.m
#import "UIWebView+Loading.h"
//abbr...
-(void)viewWillAppear:(BOOL)animated
{
UIWebView *someWebView = [[UIWebView alloc] init];
someWebView.delegate = self;
//and HTTP request
NSURLRequest *req = (abbr);
[someWebView loadRequest:req];
}
我明白用UIWebView的类别是错误的。我该如何实现它?我认为使用UIWebView(和delegate = self)对每个viewController实现完全相同的方法并不聪明。我会阅读委派模式,谢谢。 – tosin
如果你有更多的包含UIWebView的视图控制器,你可以为它们创建一个超类(UIViewControllerWithWebView)并在其中实现UIWebViewDelegate方法。 –