我在Appdelegate中编写了一个函数。我想在ViewcontrollerA,ViewcontrollerB中覆盖这个函数。因为相同的方法在ViewcontrollerA,ViewcontrollerB中具有不同的行为。其他视图控制器中的swift override appdelegate方法
如何在Viewcontroller中调用这个函数,我不明白。
更新
class NaviBarVC: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
func click_save() {
}
}
class ViewcontrollerA: NaviBarVC {
override func viewDidLoad() { super.viewDidLoad() }
override func click_save() { // Error
super.click_save()
}
}
我不认为“覆盖”是你正在寻找的词。你的视图控制器肯定不是你的应用程序委托的子类? –
如果您想从您的视图控制器**调用**应用程序委托**的方法,请使用如下所示的内容:'if let appDelegate = UIApplication.delegate as? AppDelegate { appDelegate.myMethod()//改为你的实际方法 }' –
制作一个BaseViewController,然后用你的方法代替AppDelegate,然后从BaseViewController继承ViewControllerA和ViewControllerB。然后你可以重写该方法。 –