【发布时间】:2010-04-24 08:04:32
【问题描述】:
我正在制作一个 iphone 应用程序,登录后我们将执行一些步骤,最后我们从应用程序内拨打电话。正如我们在拨打电话时所知道的那样,我们的应用程序退出了,所以请建议我如何在重新启动应用程序时恢复该状态?
1-登录
2-一些步骤
3-数字列表
4-call
任何帮助将不胜感激。 谢谢..
【问题讨论】:
我正在制作一个 iphone 应用程序,登录后我们将执行一些步骤,最后我们从应用程序内拨打电话。正如我们在拨打电话时所知道的那样,我们的应用程序退出了,所以请建议我如何在重新启动应用程序时恢复该状态?
1-登录
2-一些步骤
3-数字列表
4-call
任何帮助将不胜感激。 谢谢..
【问题讨论】:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// 保存一个 NSString
[prefs setObject:@"TextToSave" forKey:@"keyToLookupString"];
// 保存一个 NSInteger
[prefs setInteger:42 forKey:@"integerKey"];
// 保存一个 Double
[prefs setDouble:3.1415 forKey:@"doubleKey"];
// 保存浮点数
[prefs setFloat:1.2345678 forKey:@"floatKey"];
[prefs synchronize];
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// 获取一个 NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];
// 获取一个 NSInteger
NSInteger myInt = [prefs integerForKey:@"integerKey"];
// 得到一个浮点数
float myFloat = [prefs floatForKey:@"floatKey"];
【讨论】:
Apple 发布了一份文档,其中包含关于您应该如何处理 iphone 应用程序中的保存状态的非常明确的指南。所有 iphone 应用程序都应该足够健壮,可以随时处理来自来电或其他事件的中断,并保存它们的状态,以便优雅地退出并允许用户稍后恢复。
当您的应用程序从系统接收到关闭事件时,您必须将一些值写入磁盘(登录信息、当前页面、页面状态等)。
然后,每当您启动应用程序时,您要做的第一件事就是检查是否存在包含这些设置的文件。
您是否阅读过 iphone 应用程序设计指南或任何有关 iphone SDK 的文档?任何可用的 iphone SDK 编程书籍都详细介绍了这个主题。
【讨论】:
一般来说,NSUserDefaults 对于这类事情非常有用——作为一个非常基本的示例,您可以保存一个int,它记录了应用程序退出时的状态。
【讨论】: