【发布时间】:2017-07-13 17:26:02
【问题描述】:
我希望保存一个包含一些核心数据对象(一组不同的实体)的字典。这些对象还定义了很多关系(和反向关系)。最好的方法是什么?
我尝试使用NSKeyedArchiver 并写入文件。虽然效果很好,但当尝试使用 NSKeyedUnarchiver 从文件中读取时,它在其中一个类上失败并出现错误
-[SomeEntity initWithCoder:]: unrecognized selector sent to instance
编辑 - 更多详情
我有一堆对象,每个对象都有可以过滤的属性。这些属性本身就是核心数据实体对象,因为它们具有复杂的结构。
我希望保存用户选择的过滤器,以便他们下次查看对象时,可以根据他们之前的选择过滤对象。
假设有 3 个过滤器,过滤器 A、B 和 C,每个过滤器可以有 5 个不同的值。现在用户可以选择过滤器 A1、A2、B1 和 C3(或不同的组合)。我的问题是,如何使用 Core Data 保存这些选定的过滤器(本例中为 A1、A2、B1 和 C3)?
【问题讨论】:
-
它失败的类必须是你自定义的类。这意味着您必须实现这两个方法 initWithCoder: 和 encodeWithCoder: 才能正确归档和取消归档它们。一旦你实现了它们,你应该不会再收到这个错误了。
-
@Pochi 在这种情况下,为什么存档会顺利进行?那不也应该失败吗?
标签: ios objective-c core-data