如何在本地保存对象?

时间:2013-07-22 17:08:19

标签: iphone ios objective-c local-storage

我如何在本地保存变量,以便每次运行应用程序时都可以访问它们?一个例子是保存游戏的高分或应用程序的设置。应用程序需要能够在每次运行时访问变量并且不应释放内存。我应该使用NSUserDefaults类还是有其他选项?

2 个答案:

答案 0 :(得分:1)

对于像数据库一样存储的大量数据或数据(例如,相关数据),请使用CoreData。

对于小型对象,请使用NSUserDefaults。

答案 1 :(得分: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