savin数据有问题!

时间:2011-07-21 16:28:57

标签: iphone cocoa-touch uitableview nsuserdefaults

我有一个UitableView及其清单。我希望能够在用户离开视图时保存数据。然后当视图打开时,我希望有保存的数据。当我说保存数据时,我的意思是表视图能够添加和删除单元格,我也希望能够保存复选标记。有人可以提供一个方法或想法如何做到这一点?

我知道我可以用以下方式保存数据:

NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];

然后将数据保存为默认值,但我需要知道如何保存表视图的添加和/或删除的单元格!我也想知道如何保存复选标记!

谢谢你, 库尔特

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我建议使用Core Data或NSCoding。 NSCoding允许您将对象编码为NSData,并从NSData重新加载该对象的副本。

例如,通过NSCoding保存和加载字符串数组将是这样的:

NSArray * array = [NSArray arrayWithObjects:@"This", @"Is", @"A", @"Test"];
NSData * encoded = [NSKeyedArchiver archivedDataWithRootObject:array];
// save the encoded data to a file...
// load the encoded data from a file...
NSArray * decodedArray = [NSKeyedUnarchiver unarchiveObjectWithData:encoded];

当然,如果你打算使用比NSDictionary,NSArray,NSString等更复杂的类,你需要自己实现一些NSCoding。

可以找到NSKeyedArchiver的文档here。您还可以找到NSCoding协议here的文档。