2013-06-04 29 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的

是內部應用程序存儲數據的最佳選擇,你可以輕鬆地使用它在整個應用程序。