如何将状态注入到显示为UITabBarController的子视图的viewcontroller中?我有两个兄弟选项卡,它们都显示选定日期的信息。可以在TextView选项卡或GraphView选项卡中更改选择的日期,并且我希望两个选项卡保持同步,这样我就不会混淆用户。
一种相当简单的方法是声明一个全局状态变量来保存currentDate,并让每个tab视图控制器在-viewWillAppear中检查currentDate:。
但是所有的建议都说不要做全局变量(或等价物,比如共享单例或应用程序委托上的属性,等等)。相反,您应该进行依赖注入,以便每个控制器获得对共享状态对象的引用。但是你什么时候/怎么做? UITabBarController通常不会加载其选项卡视图,直到用户请求查看它们。我不认为我想在-application中预加载所有内容:didFinishLaunchingWithOptions :,减慢应用程序启动速度。但UITabBarController似乎没有提供任何类型的-tabWillAppear事件来挂钩,所以我似乎一直坚持将currentDate保持在全局。
我错过了什么吗?感谢。