【问题标题】:Consequences of not calling super in viewWill and viewDid methodsviewWill 和 viewDid 方法中不调用 super 的后果
【发布时间】:2013-09-06 22:58:51
【问题描述】:

在我的应用程序中有一些地方我已经覆盖了viewWillAppearviewWillDisappear 等,而没有调用super。这有什么可能的后果/影响?它会对应用程序行为产生影响吗?我很想修复其中的许多问题,但我不确定我是否有时间在下一个版本之前进行适当的回归测试。

【问题讨论】:

  • 在我的应用程序中,结果是滚动视图出现错误。它具有整个屏幕的大小,因此导航栏和键盘重叠。
  • 将循环通过 viewWillAppear-watever
  • 在覆盖someMethodUIViewController loadView 是其中之一)时,您不应该调用[super someMethod] 的情况很少。您需要添加这些调用并且需要进行测试。由于不可预测的结果,您的应用程序可能会以某种方式运行。修复代码可能会破坏一些微妙的行为。但这总比不修复你的代码,让你的应用在下一个 iOS 版本中突然崩溃要好。立即行动。

标签: ios uiviewcontroller


【解决方案1】:

不调用超级实现的后果是事情会以奇怪和不可预测的方式中断。您违反了框架和基本面向对象设计的规则,您应该预料到会出现问题(正如其他用户所指出的那样)。

【讨论】:

    猜你喜欢
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 2018-08-01
    • 2012-08-09
    • 2018-05-27
    相关资源
    最近更新 更多