Ios 类别和UIWebViewDelegate

Ios 类别和UIWebViewDelegate,ios,objective-c,Ios,Objective C,我看到以下代码: @interface FViewController (UIWebViewDelegate) <UIWebViewDelegate> @end @implementation FViewController @end @implementation FViewController (UIWebViewDelegate) - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSUR

我看到以下代码:

@interface FViewController (UIWebViewDelegate) <UIWebViewDelegate>
@end

@implementation FViewController

@end


@implementation FViewController (UIWebViewDelegate)

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

}

.....

@end
基本上,FViewController用于显示web视图。将其作为上述类别的目的是什么

这又有什么作用:

@interface FViewController (UIWebViewDelegate) <UIWebViewDelegate>

这对我来说没什么意义。这段代码使FViewController实现UIWebViewDelegate协议,并在其上创建一个类别。这样做的唯一可能原因是您在一个场景中扩展了UIWebView,因此它需要额外的委托方法。如果这不是您想要做的,只需让您的类实现委托,就像往常一样:

@interface FViewController <UIWebViewDelegate> 

查看此问题和答案:

此代码的作者正在FViewController上创建一个类别,使其符合UIWebViewDelegate。据推测,此类别仅实现UIWebViewDelegate方法。如果希望该委托的源与源的其余部分分开,则这可能很有用。特别是在大型类中,向类中添加类别而不是将其放在类定义中可以使所有内容更具可读性。这些类别可以在单独的源文件中,这会将该类的核心功能保留在该类的主实现文件中。

检查此问题的答案不正确,UIWebViewDelegate未扩展。这是一个声明自己符合UIWebViewDelegate的类别。对不起,你当然是对的。这是一个类别。我要修改我的答案。