Iphone 如何在本地保存对象?

Iphone 如何在本地保存对象?,iphone,ios,objective-c,local-storage,Iphone,Ios,Objective C,Local Storage,如何在本地保存变量,以便每次运行应用程序时都可以访问它们?例如,保存游戏高分或应用程序设置。应用程序需要能够在每次运行时访问变量,并且不应释放内存。我应该使用NSUserDefaults类还是有其他选项?对于大量数据或像数据库一样存储的数据(例如,相关数据),请使用CoreData 对于小型对象,请使用NSUserDefaults。对于少量数据,例如简单地将数字存储为高分,NSUserDefaults应该足够了。以下是一些让您开始学习的代码: //Save High Scores NSMutab

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

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


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

对于少量数据,例如简单地将数字存储为高分,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

相关:。NSUserDefaults将为您完成此操作。如果要保存的数据很大,那么就不要使用核心数据。我想补充一点,对于中等大小的数据(NSdictionary将包含一组键),可以使用NSKeyedArchive。简单易用,无需CoreData带来的所有痛苦。