覆盖 viewSafeAreaInsetsDidChange 需要调用 super 吗?
Posted
技术标签:
【中文标题】覆盖 viewSafeAreaInsetsDidChange 需要调用 super 吗?【英文标题】:overriding viewSafeAreaInsetsDidChange needs super to be called? 【发布时间】:2017-10-05 15:18:20 【问题描述】:如果我覆盖 UIViewController
的函数 viewSafeAreaInsetsDidChange
是否需要调用 super?
override func viewSafeAreaInsetsDidChange()
super.viewSafeAreaInsetsDidChange()
// do my stuff
我知道,如果您覆盖 func viewWillAppear(_ animated: Bool)
并且您没有在内部调用 super
,您的应用程序可能会出现异常行为。事实上,苹果公司说你必须在某个时候打电话给super
。我想这里不是这样,这就是我想确认的!
【问题讨论】:
【参考方案1】:这不是必需的,但通常认为最好的做法是在被覆盖的方法上调用 super
,除非有明确的理由不这样做。
如果您决定将来您的视图控制器应该从自定义的UIViewController
子类继承,则无需进行任何代码更改即可在每个子类中运行超类的实现。
【讨论】:
我知道这样做是最好的做法,但是如果您覆盖func viewWillAppear(_ animated: Bool)
并且您没有在内部调用 super
,您的应用程序可能会出现异常行为。事实上,苹果公司说你必须在某个时候打电话给super
。 我想这里不是这样,这就是我想确认的! :)以上是关于覆盖 viewSafeAreaInsetsDidChange 需要调用 super 吗?的主要内容,如果未能解决你的问题,请参考以下文章