标题很好解释它。我是否需要首先序列化对象,还是有可能?NSUserDefaults是否可以使用自定义对象来保存NSArray?
5
A
回答
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
1
您需要序列化它。
从苹果文档NSUserDefaults的:
的类NSUserDefaults的提供用于访问公共类型,例如浮标方便的方法,双打,整数,布尔值,和URL。一个默认对象必须是一个属性列表,也就是一个实例(或集合的实例组合):NSData,NSString,NSNumber,NSDate,NSArray或NSDictionary。如果你想存储任何其他类型的对象,你通常应该将其存档以创建一个NSData实例。有关更多详情,请参阅首选项和设置编程指南。
1
1
是的,这是可能的,只是你必须同时存储&检索其采取NULL值的照顾,
相关问题
- 1. 将NSArray保存为NSUserDefaults问题(使用数组中的自定义对象)
- 2. 保存自定义对象以在NSUserDefaults的斯威夫特
- 3. 可以将UIFont对象保存到NSUserDefaults
- 4. 是否可以在NSUserDefaults中保存NSManagedObject?
- 5. 在NSUserDefaults中存储自定义对象
- 6. 是否可以使用JPA来保存DSL Java对象?
- 7. 使用IsloatedStorageSettings保存自定义对象
- 8. 如何在NSUserDefaults中保存“自定义类对象”的NSMutableArray?
- 9. 问题与保存自定义对象NSUserDefaults的进
- 10. 是否可以在自定义助手中使用HtmlHelper对象?
- 11. 使用nscoder编码自定义对象并保存到nsuserdefaults加密?
- 12. 使用NSUserDefaults保存MPMediaItemCollection对象
- 13. NSUserDefaults是否被iCloud自动保存?
- 14. NSArray initWithObjects:是否保留对象?
- 15. NSArray的排序与自定义对象
- 16. 过滤自定义对象的NSArray
- 17. 使用Monotouch将自定义列表保存在NSUserDefaults中
- 18. 是否可以在Doxygen中创建自定义对象类型?
- 19. 使用结构保存并读取NSUserDefaults的NSArray使用结构
- 20. 如何在NSUserDefaults中保存一个NSMutableArray包含NSMutableArrays的自定义对象
- 21. 是否可以在Swift中使用自定义运算符来定义[Int] * Int?
- 22. 是否可以使用numpy.argmax与列表中的对象的自定义字段?
- 23. 如何在NSUserDefaults中存储自定义对象
- 24. 将自定义对象存储在NSUserDefaults中
- 25. 存储自定义对象在一个NSMutableArray NSUserDefaults的中
- 26. NSUserDefaults - 如何存储自定义对象数组(目标)
- 27. 在NSUserDefaults中将自定义对象存储在NSMutableArray中
- 28. 在swift和可可中保存自定义对象
- 29. NSArray是否复制对象?
- 30. 是否可以使用NSUserDefault保存UIWebView?
不忘记[默认同步] – Jacky 2014-06-13 22:35:20
感谢他帮我很多 – 2016-06-14 12:47:15
它不是保存整数值 – 2016-10-27 10:48:20