我们知道,如果你需要在Swift中覆盖父类的方法,你必须在该方法之前声明"override"关键字。如果该方法是私有的,你仍然可以在Swift中覆盖它,只需不添加override关键字即可。但是,你无法调用super.MethodName(),这是我的问题。
比如说,在UINavigationController中有一个名为"_startCustomTransition"的私有方法,我可以在自定义的MyNavigationController.swift中做到这一点。
class MyNavigationController: UINavigationController {
func _startCustomTransition() {
// I can not call super._startCustomTransition()
}
}
那么,我该如何进行超级调用呢?谢谢。
MyNavigationController
继承自类UINavigationController
,而它在这种情况下没有一个名为_startCustomTransition()
的方法。在这种情况下,使用#selector
方法可能是最好的选择,正如Amresh Kumar所提到的那样。 - CarpenterBlood