iphone - 使用 NSKeyedArchiver 将 NSMutableArray 保存到 NSUserDefaults

标签 iphone nsmutablearray nsuserdefaults nskeyedarchiver

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

最佳答案

已修复。我使用 Brad Larson 的代码 Storing custom objects in an NSMutableArray in NSUserDefaults 。我认为将数据添加回数组的方式存在问题,但现在可以了。

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];
}

关于iphone - 使用 NSKeyedArchiver 将 NSMutableArray 保存到 NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3951687/

相关文章:

objective-c - 使用 NSUserDefault 在多个进程之间共享数据

iphone - 如何改变UIWebview的颜色和字体大小

iphone - "Application windows are expected to have a root view controller"条件外观

iphone - NSMutableArray of Dictionaries中的replaceobjectatindex

ios - 具有 NSMutableArray 成员的自定义对象的 NSMutableArray 的深拷贝

ios - 运行单元测试时删除 UserDefaults 生成的 plist 文件

cocoa - NSUserDefaults 不会写入磁盘

iphone - 表格 View 占据了整个 View 而不是输入的宽度和高度

ios - iOS 锁定屏幕中的播客 "skip"按钮

ios - 如何将字符串从一个数组添加到另一个数组