iOS仅存储一点点数据

我想知道是否有办法存储less量的数据,而不需要一个完整的核心数据API。 我只需要在某处存储6个“双”值…那最好的方法是什么?

谢谢,Alex。

核心数据只是存储数据的一种方式,只有当你需要这些数据时才有意义。 这里有五个很好的select来存储你的数据:

  • 使用NSUserDefaults 。 (死简单。)

  • 将数据存储在适当的结构(比如NSDictionary )中,并将其存储为属性列表。 (相当容易。)

  • 将数据存储在您自己devise的实现NSCoding的类中,然后使用NSKeyedArchiver将该类的实例写入文件。 (适用于存储整个对象图;这基本上就是IB所做的工作,灯可能需要一两个小时才能显示出来,但是一旦你理解了,这是读取和写入对象的一个​​非常好的方法。

  • 使用Cocoa Touch的文件系统API,特别是NSFileHandleNSFileManager 。 (如果你以前曾经使用过一个文件系统,那么这个概念很简单,让你完全控制。)

  • 使用普通的旧的POSIX文件系统API。 (最适合现有的Unix代码,或者您也希望在其他平台上编译的代码)。

在跳转到其中任何一个之前,请阅读Apple的“ 归档和序列化编程指南” ,“ 用户默认设置编程主题 ”和“ 文件系统编程指南”

您可以使用NSUserDefaults来完成( http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html )。

 -(void)saveToUserDefaults:(NSString*)myString { NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; if (standardUserDefaults) { [standardUserDefaults setObject:myString forKey:@"Prefs"]; [standardUserDefaults synchronize]; } } -(NSString*)retrieveFromUserDefaults { NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; NSString *val = nil; if (standardUserDefaults) val = [standardUserDefaults objectForKey:@"Prefs"]; return val; } 

存储less量数据而不使用某些较大API的最简单方法是NSUserDefaults类。 这是很容易设置和使用。