出于分析目的,我想执行以下操作:
UIVIewController
viewDidLoad()
时,我想触发自定义函数vcWasLoaded(vc:UIViewController)
。UIButton
时,我想触发自定义函数btnWasTapped(bt:UIButton)
。我想在没有子类的情况下实现上述目标。无论如何使用协议,扩展或反应框架实现上述目标?
答案 0 :(得分:1)
方法调配是我唯一可以想到的,你可以使用它可以让你在没有子类化的情况下做到这一点。您将替换viewDidLoad的实现,以及其中一个较低级别的按钮方法,然后在您的实现中调用原始实现。 (我只涉及方法调整,而且很多年前,在Swift存在之前。我不太了解Objective-C方法的混合,并且确切地知道零方法在Swift中徘徊。)
如果您创建了UIViewController的子类并使其成为所有视图控制器的基类,那么这将更加简单和清晰。