覆盖后总是打电话给超级?

时间:2017-06-11 08:43:13

标签: ios swift override uistoryboardsegue

我读过,如果您覆盖某个方法,最好拨打super.method()

但是,覆盖perform()的{​​{1}}方法并调用UIStoryboardSegue会引发异常。如果我没有打电话给super.perform(),它的工作正常。

为什么?

1 个答案:

答案 0 :(得分:1)

某些方法不应该直接调用。请参阅文档。例如,您不应该在子类的loadView中调用[Super loadView],但是在覆盖viewDidLoad时调用[Super viewDidLoad] .Ref:https://developer.apple.com/documentation/uikit/uiviewcontroller/1621454-loadview?preferredLanguage=occ

在这种情况下,子类需要有自己的实现,而不仅仅是扩展super的实现行为。