将NSArray另存为NSData

时间:2013-08-15 11:26:26

标签: ios objective-c json

抱歉,如果这太宽泛了。

我想知道如何将我在代码中制作的json对象(不是从网上下载)变成保存的文件?然后,如何在以后阅读,并可能用不同的内容重写它?

我想要做的是将我的游戏的高分保存到一个json的int数组中,然后保存它,稍后重新读取它。我想为此使用XML,但我找不到任何关于此的最新教程。这对JSON有用吗?我应该使用CoreData吗? XML是否更适合这种用途?

或者你能指点我一个如何正确地做这个的教程

2 个答案:

答案 0 :(得分:4)

如果您将分数保存到NSArray,可以使用writeToFile:atomically:将其保存到数据中,然后通过调用arrayWithContentsOfFile:

重新创建数组

NSArray reference

中查找它们

这比将其转换为JSON并保存数据更容易。

然而;如果您要存储更多数据 - 现在是了解核心数据的好时机。

查看Core Data Starting Point

是的,阅读和学习很多,但如果你早点开始建立自己的基础,从长远来看它将对你有所帮助。

答案 1 :(得分:0)

您还可以使用NSUserDefaults轻松保存任何属性列表:

// Save the array
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:self.myArray forKey:@"MyArray"];
// Optionally force the save right away
[defaults synchronize];

然后:

// Load the array
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
self.myArray = [defaults objectForKey:@"MyArray"];
  

默认对象必须是属性列表,即(或   对于集合的实例组合):NSData,NSString,   NSNumber,NSDate,NSArray或NSDictionary。