有时候,设置方法调度表很有用,这样调用方法A就会调用AImpl()方法,而在另一个时间调用方法A就会调用BImpl()方法。在Objective-C中,如何为系统自动调用的方法(例如委托方法)进行此操作?
例如,如果系统第一次调用viewDidAppear,我希望它调用viewAppearFirstTime方法,而后续调用viewDidAppear将会触发完全不同的方法体(而不是在代码中使用布尔标志进行if-else检查)。
另一个例子,假设在应用程序中经常调用UIView的drawRect方法,如果第一次调用的drawRect与后续的调用不同,则不想包含if-test,因为那会使代码更难阅读,并且在第一次之后检查也是不必要的。
例如,如果系统第一次调用viewDidAppear,我希望它调用viewAppearFirstTime方法,而后续调用viewDidAppear将会触发完全不同的方法体(而不是在代码中使用布尔标志进行if-else检查)。
另一个例子,假设在应用程序中经常调用UIView的drawRect方法,如果第一次调用的drawRect与后续的调用不同,则不想包含if-test,因为那会使代码更难阅读,并且在第一次之后检查也是不必要的。