2

退出应用程序时,我需要在 iPhone 应用程序中保留程序变量值。SDK 是否为程序员提供了非易失性内存以供使用?有多少可用?它会保持通电循环吗?通过睡眠模式?通过硬重置?

4

5 回答 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 回答