2013-07-22 46 views
0

我將如何去本地保存變量,以便每次運行應用程序時都可以訪問它們?一個例子就是節省遊戲的高分或應用程序的設置。應用程序需要能夠在每次運行時訪問變量,並且不應釋放內存。我應該使用NSUserDefaults類還是有其他選擇?如何在本地保存對象?

+0

相關:[使用iOS應用程序中的數據](http://stackoverflow.com/q/10244782/335858)。 – dasblinkenlight

+1

NSUserDefaults會爲你做。如果要保存的數據比使用核心數據大。 –

回答

1

對於像數據庫那樣存儲的大量數據或數據(例如相關數據),請使用CoreData。

對於小對象,請使用NSUserDefaults。

+1

我會補充說,對於中等大小的數據(NSdictionary將一堆鍵),你可以使用NSKeyedArchieve。使用簡單,沒有CoreData的所有痛苦。 – John

1

對於少量數據,比如將數字簡單地存儲爲高分,NSUserDefaults應該足夠了。這裏有一些代碼可以幫助你入門:

//Save High Scores 
NSMutableArray *array = [NSMutableArray arrayWithCapacity:3]; 
array[0] = highScore1; 
array[1] = highScore2; 
array[2] = highScore3; 
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
[prefs setObject:array forKey:@"highScores"]; 

//load high scores 
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
NSArray *array = [prefs objectForKey:@"highScores"]; 
HighScore1Label.text = array[0]; 
//etc