我可以为您翻译:我可以继承UIWebView吗?

12

我想彻底澄清一下,是否可以子类化UIWebView?我是否需要担心苹果会因为UIWebView的子类而拒绝我的应用程序?

文档中指出:

子类化注意事项 不应该子类化UIWebView类。

但与此同时,苹果在这个WWDC视频中自相矛盾:

https://developer.apple.com/videos/wwdc/2011/?id=511#rich-text-editing-in-safari-on-ios

在第41页幻灯片中,他们明确讨论了子类化UIWebView的问题。

提前致谢!


你可以子类化UIWebview。 - Dinesh Kaushik
子类化UIWebView可能不会导致您的应用被拒绝。 - simbesi.com
可能是Is subclassing UIWebView frowned upon?的重复问题。 - Basil Bourque
4个回答

8

虽然从UIWebView文档中,“子类化注意事项”明确建议您不要进行子类化,但您的应用程序不会因为子类化UIWebView而被拒绝。

您应该问的真正问题是:“我是否真的需要子类化UIWebView,或者通过分类添加方法(带或不带联想存储)是否更适合我的需求?”。如果分类不足以满足需求,那么就使用子类化。


1
根据我的经验,除非你绕过一些问题,否则子类化UIWebView会导致无法良好访问。我知道有一种解决方法,因为我已经尝试过,但矛盾的是,我其实并不知道如何绕开这个问题。 - William Jockusch

0

当然,您可以像其他类一样子类化UIWebView。但是苹果的文档建议我们不要子类化UIWebView。但这并不意味着他们会在App Store审核过程中拒绝此类应用程序。我可以100%保证这一点。有几个在此类别中获得App Store批准的应用程序。


0

你可以对UIWebView进行子类化...但它是为原样使用而设计的。但是你应该小心自定义。

子类化主要用于还原类的任何现有属性,如果您需要添加新属性,您始终可以使用分类。


0
虽然从技术上讲是可能的,而且你甚至可能不会因此被拒绝,就像其他人提到的那样,但你真的应该问问自己是否对你来说可行。
UIWebView在开发者眼中很大程度上是不透明的:你没有任何方法来检查或更改其中发生的事情。也许这就是为什么苹果不鼓励你子类化UIWebView的原因。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接