2012-01-17 70 views
1

我是iOS 5编程新手,所以我确信这些对于有经验的人来说都是基本问题。iOS 5维护应用程序中的变量和状态?

  1. 我有一个创建唯一会话字符串的登录表单。我该如何维护字符串,使其可以在整个应用程序的所有视图控制器上用于该会话?
  2. 如何存储一系列字符串(可能是其中的一个或两个),以便在随后的应用程序加载时可供应用程序使用它们?换句话说,我如何维护一个可以在任何给定设备的应用程序的整个生命周期中使用的默认字符串?

回答

4

首先,这可以被存储在应用程序委托(就像下面访问你的应用程序中的任何地方:

YourAppDelegate.h

- (NSString *)uniqueSessionString; 

视图控制器:

NSString *uniqueString = [(YourAppDelegate *)[[UIApplication sharedApplication] delegate] uniqueSessionString]; 

其次,为了保存这些信息请看NSUserDefaults。即使在应用程序关闭之后,这些信息仍会保留ES。这里是这里用它的教程:

http://mobile.tutsplus.com/tutorials/iphone/nsuserdefaults_iphone-sdk/

如果你需要维持这个字符串用户的所有设备,那么你需要看看NSUbiquitousKeyValueStore(iCloud中的一部分)。您也可以将这两种方法一起使用。看到这个太问题:

How to use NSUbiquitousKeyValueStore and NSUserDefaults together

+1

谢谢,这似乎是在AppDelegate中值在正确的轨道。我讨厌密集,但我可以看到如何读取价值,但我该如何设置这个值? – 2012-01-17 19:29:07

+1

如果将它设置为应用程序委托中的属性,则可以调用setter:[(YourAppDelegate *)[[UIApplication sharedApplication] delegate] setUniqueSessionString:newValue]; – dtuckernet 2012-01-17 19:41:38