【问题标题】:Am I allowed to subclass UIWebView?我可以继承 UIWebView 吗?
【发布时间】:2013-11-06 06:13:28
【问题描述】:

我只想一劳永逸地解决这个问题,可以继承 UIWebView 吗? 我会因为 UIWebView 子类而对苹果拒绝应用程序感到紧张吗?

文档说明:

子类化注释 UIWebView 类不应被子类化。

但与此同时,Apple 与这段 WWDC 视频自相矛盾:

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

在幻灯片 41 中,他们专门讨论了 UIWebView 的子类化

提前致谢!

【问题讨论】:

标签: ios iphone objective-c uiwebview


【解决方案1】:

虽然UIWebView 文档中的“子类化说明”明确不鼓励您进行子类化,但您的申请不会因为子类化UIWebView 而被拒绝。

您应该问的真正问题是:“我真的需要继承UIWebView 或者通过类别添加方法(有或没有关联存储)会满足我的需要吗?”。如果类别不够,请继续进行子类化。

【讨论】:

  • 根据我的经验,继承 UIWebView 会导致可访问性受损,除非您解决它。我知道有一个解决方法,因为我已经完成了。矛盾的是,我实际上并不知道解决方法是什么。
【解决方案2】:

当然,您可以将 UIWebView 子类化为任何其他类。但 Apple 文档建议我们不要子类化 UIWebView。但这并不意味着他们会在应用商店审核过程中拒绝此类应用。我给你100%的保证。应用商店中有多个此类应用获批。

【讨论】:

    【解决方案3】:

    您可以将 UIWebView 子类化...但它是按原样使用的。但是你应该小心自定义。

    子类化主要用于恢复类的任何现有属性,如果您需要添加新属性,您可以随时使用类别。

    【讨论】:

      【解决方案4】:

      虽然这在技术上是可行的,而且你甚至可能不会像其他人提到的那样被拒绝,但你真的应该问问自己这样做是否可行。

      UIWebView 在很大程度上对开发人员来说是不透明的:您没有任何方法可以检查或更改其中发生的事情。也许这就是 Apple 不鼓励您继承 UIWebView 的原因。

      【讨论】:

        猜你喜欢
        • 2023-03-28
        • 2011-01-21
        • 1970-01-01
        • 2011-03-04
        • 2011-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-19
        相关资源
        最近更新 更多