退出应用程序时,我需要在 iPhone 应用程序中保留程序变量值。SDK 是否为程序员提供了非易失性内存以供使用?有多少可用?它会保持通电循环吗?通过睡眠模式?通过硬重置?
jmeringer
问问题
2532 次
5 回答
4
您想使用NSUserDefaults类来存储用户设置。这非常容易。它们将在设备重启、电源循环等过程中持续存在。
这是一个简短的教程,可帮助您入门。
于 2009-01-08T03:29:02.980 回答
4
有许多选项可用于存储应用程序中的数据以供以后使用。正如所指出的,其中两个正在使用 NSUserDefaults 和 SQLite。另一种方法是在您的应用程序的“文档”文件夹中创建一个文件并将您的数据保存在这里。下次启动应用程序时读取文件的内容。这在Apple 的文件和网络指南中进行了解释
即使使用数据库,请确保在应用程序沙箱的 Documents 文件夹中创建数据库的副本,以便即使在您发布应用程序更新时它仍然存在。
于 2009-01-08T11:34:56.993 回答
3
您可以写入应用程序的本地存储区域或使用 sqlite 数据库。这两个选项都记录在这里,http://developer.apple.com/iphone/library/codinghowtos/DataManagement/index.html#FILE_MANAGEMENT-WRITE_INFORMATION_LOCALLY
于 2009-01-08T03:11:10.193 回答
2
-(void)saveToUserDefaults:(NSString*)myString
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
if (standardUserDefaults) {
[standardUserDefaults setObject:myString forKey:@"Prefs"];
[standardUserDefaults synchronize];
}
}
-(NSString*)retrieveFromUserDefaults
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
NSString *val = nil;
if (standardUserDefaults)
val = [standardUserDefaults objectForKey:@"Prefs"];
return val;
}
于 2009-07-31T20:13:11.557 回答
0
您最好的选择是将它们存储到您的应用程序 SQLite 数据库实例中。这与您将获得的非易失性存储器一样接近。
于 2009-01-08T03:12:08.070 回答