我读到,如果您覆盖一个方法,调用 super.method()
始终是最佳实践。
但是,重写 UIStoryboardSegue
的 perform()
方法并调用 super.perform()
会引发异常。如果我不调用 super.perform()
,它工作正常。
为什么?
最佳答案
一些方法不应该被直接调用。请参阅文档。例如,您不应在子类的 loadView 中调用 [Super loadView],但可以在重写 viewDidLoad 时调用 [Super viewDidLoad]。引用:https://developer.apple.com/documentation/uikit/uiviewcontroller/1621454-loadview?preferredLanguage=occ
在这种情况下,子类需要有自己的实现,而不仅仅是扩展 super 实现的行为。
关于ios - 重写后总是调用 super?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44481942/