2013-06-04 33 views
0

我想在应用第一次打开时保存用户给出的一些初始设置值,如果这些值保存下来,它不应该在下次出现。如何在应用程序内保存这些值。一些人建议使用.plist,同时搜查有关此。这是正确的方法吗?或有更简单的选项可用?在iphone上保存数据应用

回答

2

最简单的选择是将这些值以键值对的形式保存到NSUserDefaults中。

NSUserDefaults *stdDefaults = [NSUserDefaults standardUserDefaults]; 
if([stdDefaults objectForKey:@"APP_OPENED"] == FALSE) 
{ 
     [stdDefaults setValue:@"YOUR_VALUE" forKey:@"YOUR_KEY"]; 
      //Store more values if you wish 
     [stdDefaults setBool:YES forKey:@"APP_OPENED"]; 
     [stdDefaults synchronize]; 
} 
3

我建议将信息保存在一个数组中,然后将数组保存在设备上集成的NSUserDefaults单例中。这样你就可以随时随地访问信息。

请记住,如果信息足够小,这种方法是唯一可行的。

要保存在NSUserDefaults的类:

[[NSUserDefaults standardUserDefaults] setObject:yourMutableArray forKey:@"Key"]; 

来获取值:

NSMutableArray *array = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] 
             objectForKey:@"Key"]]; 
+0

即使在我关闭我的应用并再次打开之后,NSUserDefaults中的值是否会保留? – Dolo

+1

是的,它们将被保留,即使应用程序已关闭,它也是一直运行的单例类。这个类适用于所有的应用程序,记得给它一个唯一的键,以便以后可以得到它。 – Joze

1

如果它包含的密码,最好使用钥匙串。否则,将NSUserDefaults的是一个不错的选择

2

如果你想保存非加密的数据,你可以使用NSUserDefaults

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:txtfield1.text forKey:@"info1"]; 
[defaults setObject:txtfield2.text forKey:@"info2"]; 
[defaults synchronize]; 
1

我建议使用NSUserDefaults。事情是这样的:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
BOOL hasOpenedAppBefore = [defaults boolForKey:@"hasOpenedAppBefore"]; 

[defaults setBool:YES forKey:@"hasOpenedAppBefore"]; 
0
NSUserDefaults的

是内部应用程序存储数据的最佳选择,你可以轻松地使用它在整个应用程序。