2012-04-08 151 views
2

我想在使用故事板的iPhone应用程序中拥有全局数组/变量。有没有办法从许多不同的故事板屏幕访问这样一个全局变量?iPhone - 故事板中的全局变量

由于 凯文

回答

1

故事板部分是有点不相关:在可可实现这一点的标准方式是定义一个对象作为模型,分享在应用程序中定义的控制器当中其标题(通过故事板或其他),并在应用程序启动代码中创建共享模型的实例。

有关在Objective C中实现单例的信息,请参阅this link

+1

*就问*:我们不能在申报文件的appDelegate这些变量并使用它在每个班级? – 2012-04-08 17:42:13

+0

我会appreaciate如果你抛出一些光。 – 2012-04-08 17:42:36

+2

@anonymous从技术上讲,你可以把它放在任何文件中,而Appdelegate在这方面既不会更好也不会更糟。但是,这不是放置模型的最典型选择。共享变量的最佳选择是在一个共同的位置有一个适当命名的共享类。 – dasblinkenlight 2012-04-08 19:16:38

1

也许最简单的就是将信息存储在NSUserDefaults中。它可以在应用程序的任何地方访问,所以应该是你想要的。我张贴的一个片段,如果你不知道如何处理它:)

如何设置:

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; 
BOOL yourVariable = YES; 
[settings setBool:yourVariable forKey:@"myVariableKey"]; 
[settings synchronize]; 

如何获得它:

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; 
BOOL yourVariable = [settings boolForKey:@"myVariableKey"]; 

我张贴布尔的例子,但它可以是任何你需要的价值 - 例如:

[settings setValue:@"Hello!" forKey:@"welcomeMessage"]; 
+0

谢谢,作品非常棒! 如果我释放NSUserDefault对象,那么释放项目永久保存的空间,我认为? – Kevin 2012-04-08 22:45:57