组件化之生命周期管理
组件化过程中,不同模块可能需要实现UIApplicationDelegate
的代理方法。非组件化开发过程中可能就是直接在工程AppDelegate
中处理不同业务功能的需求,但是在组件化之后,这么做明显是不合理的。
既然组件化了,业务逻辑应该是在各个组件中去处理,不应该跟主工程的业务代码耦合。那么如何实现将UIApplicationDelegate
中的代理方法分发到各个组件中去实现呢?
思路:
-
hook
UIApplication
的setDelegate
方法,将delegate设置成我们指定的实体类 -
在delegate中实现消息转发,将
AppDelegate
的方法转发到我们的目标实例中,也就是主工程的AppDelegate
以及组件中的实现AppDelegate
代理的实例
网友评论