Objective c 如何在NSUserDefaults中保存包含自定义对象的NSMutableArray的NSMutableArray

Objective c 如何在NSUserDefaults中保存包含自定义对象的NSMutableArray的NSMutableArray,objective-c,cocoa-touch,nsmutablearray,nsuserdefaults,nscoding,Objective C,Cocoa Touch,Nsmutablearray,Nsuserdefaults,Nscoding,通过在自定义类中实现NSCoding,我能够将自定义对象的NSMutableArray保存到NSUserDefaults。但是,现在我想保存这些数组的NSMutableArray。当我尝试这样做时,编译器会抱怨。如何做到这一点?我找到了方法。基本上,您可以使用NSKeyedArchiver将数组转换为数据对象,这就是使用NSUserDefaults保存的内容。然后,当你取回数据对象时,你可以使用NSKeyedUnarchiver将其转换回数组。编译器抱怨什么?它说“尝试插入非属性值”。看看这个问

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

我找到了方法。基本上,您可以使用NSKeyedArchiver将数组转换为数据对象,这就是使用NSUserDefaults保存的内容。然后,当你取回数据对象时,你可以使用NSKeyedUnarchiver将其转换回数组。

编译器抱怨什么?它说“尝试插入非属性值”。看看这个问题:我在那里找到了答案。我的问题是:你能将它转换回可变数组吗,向其中添加内容,然后将其保存回NSUserDefaults???@RafaelMoreira当您获得它时,它可能是不可变的,但您始终可以执行
mutableCopy