使用NSKeyedArchiver将NSMutableArray保存到NSUserDefaults

enb*_*nbr 3 iphone nsuserdefaults nsmutablearray nskeyedarchiver

我在检索包含自定义对象的已保存NSMutableArray时遇到问题.应用程序崩溃,控制台报告http://pastie.org/1226822.这是我的对象.h文件http://pastie.org/1226823.这是我的对象.m文件http://pastie.org/1226826.以下是我保存数据的方法http://pastie.org/1226830.以下是我检索数据的方法http://pastie.org/1226831.提前致谢.

enb*_*nbr 8

固定.我使用Brad Larson的代码在NSUserDefaults中的NSMutableArray中存储自定义对象.我认为我将数据添加回数组的方式存在问题,但现在可以正常工作了.

NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
NSData *dataRepresentingSavedArray = [currentDefaults objectForKey:@"savedArray"];
if (dataRepresentingSavedArray != nil)
{
    NSArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingSavedArray];
    if (oldSavedArray != nil)
            objectArray = [[NSMutableArray alloc] initWithArray:oldSavedArray];
    else
            objectArray = [[NSMutableArray alloc] init];
}
Run Code Online (Sandbox Code Playgroud)