2013-02-11 86 views

回答

11

你必须编码/解码与你的目标对象(这是你的阵列)和归档阵列的NSData。

只需添加

<NSCoding> 

到您的对象的类(阵列中),并按照你的编译器的警告:d

然后存档您的数组是这样的:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:yourArray]; 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:data forKey:@"yourKey"]; 


NSArray *array= [NSKeyedUnarchiver unarchiveObjectWithData:[defaults objectForKey:@"yourKey"]; 

看看这个出来http://soff.es/archiving-objective-c-objects-with-nscoding

+2

不忘记[默认同步] – Jacky 2014-06-13 22:35:20

+0

感谢他帮我很多 – 2016-06-14 12:47:15

+0

它不是保存整数值 – 2016-10-27 10:48:20

1

您需要序列化它。

从苹果文档NSUserDefaults的:

的类NSUserDefaults的提供用于访问公共类型,例如浮标方便的方法,双打,整数,布尔值,和URL。一个默认对象必须是一个属性列表,也就是一个实例(或集合的实例组合):NSData,NSString,NSNumber,NSDate,NSArray或NSDictionary。如果你想存储任何其他类型的对象,你通常应该将其存档以创建一个NSData实例。有关更多详情,请参阅首选项和设置编程指南。

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html

1

是的,这是可能的,只是你必须同时存储&检索其采取NULL值的照顾,

相关问题