如何在NSUserDefaults中保存一个NSMutableArray包含NSMutableArrays的自定义对象

问题描述:

我可以通过在自定义类中实现NSCoding来将NSMutableArray的自定义对象保存为NSUserDefaults。但是,现在我想保存这些数组的NSMutableArray。当我尝试这样做时,编译器会抱怨。如何才能做到这一点?如何在NSUserDefaults中保存一个NSMutableArray包含NSMutableArrays的自定义对象

+1

编译器抱怨什么? – 2010-10-13 16:43:06

+0

它表示“尝试插入非属性值。” – 2010-10-13 17:52:50

+1

看看这个问题:http://*.com/questions/471830/why-nsuserdefaults-failed-to-save-nsmutabledictionary-in-iphone-sdk – 2010-10-13 19:47:53

我发现如何去做。基本上,您使用NSKeyedArchiver将数组转换为数据对象,这就是您使用NSUserDefaults保存的内容。然后当你得到数据对象时,你使用NSKeyedUnarchiver把它变回一个数组。

+1

你能分享你的代码吗? – 2011-12-12 06:30:19

+0

我的问题是:你可以把它变回Mutable数组,添加东西到它然后将其保存回NSUserDefaults? – 2012-02-16 01:27:17

+0

@RafaelMoreira当你得到它的时候,事情可能是不可变的,但你总是可以做'mutableCopy' – 2015-08-20 19:05:14