如何在目标c中将变量声明为extern,以便我可以在任何视图控制器中访问它

时间:2010-08-04 20:01:26

标签: iphone xcode extern

我想在所有视图控制器中访问相同的变量....

3 个答案:

答案 0 :(得分:2)

extern是一个C关键字,在Objective-C中与在C中一样。在头文件中,声明你的变量:

extern NSString *myGlobal;

然后将其设置在.m文件中。

然而,这通常是一种糟糕的编码习惯;通常最好将视图控制器显式地设置为某种状态对象或数据源。

答案 1 :(得分:1)

不是将变量放在extern中,而是将数据存储在AppDelegate实例中 - 或者存储在其他一些单例中。然后你可以从任何地方进入并修改它。

答案 2 :(得分:0)

虽然我承认我仍然经常使用AppDelegate解决方案,但我相信单例设计模式是更好的解决方案。 Here's a link to a solution and the reasoning.