什么是在iPhone应用程序上保持通用常量的有效方法?

时间:2010-08-19 21:36:00

标签: iphone objective-c constants

我正在尝试创建一个iPhone应用程序,在其中我连接到API并获取一个安全字符串和id,用于向api发出请求。

每次运行应用程序时,字符串和ID都会更改,应用程序中的多个视图控制器需要这些信息。

如何有效地存储这些信息,以便各种类可以轻松访问?

提前致谢! AJ

2 个答案:

答案 0 :(得分:1)

使用app delegate似乎是“老派”的方式,但我认为这是一个糟糕的习惯。您将应用程序委托转变为一个巨大的全局变量,这绝不是一件好事。

存储在NSUserDefaults中可行,但如果它不是您想要保存的设置(并且您可能没有考虑到安全性),那么以后可能会再次困扰您。

我是硬核:我在你的app委托中实例化一个数据模型类来保存这样的信息,并将它传递给你的根视图控制器,然后传递给需要访问信息的任何其他视图控制器。好处?没有全局变量,没有任何内容持久保存到用户默认值,只有那些真正需要信息的代码部分才会看到它(减少远处的动作)。缺点是什么?设置不像其他两种方法那么容易(至少第一次)。

答案 1 :(得分:0)

你可以想象有很多方法,这里有一个使用NSUserDefaults:

储存:

[[NSUserDefaults standardDefaults]setObject:@"some string" forKey:@"key"];

检索:

NSString *key = [[NSUserDefaults standardDefaults]objectForKey:@"key"];
相关问题