【发布时间】:2013-06-12 21:06:18
【问题描述】:
我正在查看的 SDK 演示应用程序具有应用程序委托和根视图控制器的全局变量。
我以前没见过这个,但是优点很明显。 重新输入的任何快捷方式
AViewController* rootVC = [[UIApplication sharedApplication]delegate] window] rootViewController];
仅仅获得根视图控制器似乎是一个巨大的帮助。
当然,任何看似巨大的优势总是伴随着同样的劣势。那么为什么我不应该总是在 AppDelegate.m 中为我的应用委托和根视图控制器创建一个全局变量呢?是否会浪费资源或损害安全性?
【问题讨论】:
-
为什么不把根视图控制器传递给每个需要它的控制器呢?如果一切都需要,那么您的设计可能会更好。
-
传递意义
#import或覆盖初始化方法?我对此没有任何问题,我只是想知道为什么全局变量不是最佳设计。 -
传递意味着一个属性。全局变量增加了交叉耦合和依赖。应用程序委托有一个目的,该目的不是让所有控制器都继续访问它。
标签: ios objective-c global-variables