防止受管理对象被Core Data重新出现故障

时间:2011-01-29 07:06:44

标签: iphone ios core-data

我有一个对树形结构建模的对象图。我希望获取(没有错误)单个完整的树结构让它保留在我(用户)自行决定的托管对象上下文中,以便根据树的结构进行修改和计算。结构中的对象还将在MOC中保持对非托管对象的引用。

这可能吗?如果是这样,它可以以什么方式完成?

注意:我意识到这是对Core Data的轻微误用。

1 个答案:

答案 0 :(得分:0)

你无法直接使用Core Data,如果有内存警告,它总会尝试清除内存。

但是,如果你总是想在内存中创建一个包装器对象,即

@class MyObject {
  NSManagedObject *thisIsWhatIRepresent;

  NSString *someProperty;
}

- (id)initWithManagedObject:(NSMagagedObject *)managedObject;

@property (nonatomic, copy) NSString *someProperty;

@end

初始化时,将托管对象中的所有属性复制到此对象的属性中。然后,如果您的托管对象出现故障并不重要 - 该对象具有数据副本。

您必须确保对对象的任何更改也会更改mananged对象,尽管您可以等到有一些更改并立即保存它们?

注意:这是一个混乱的解决方案。我的建议是按照预期或不使用核心数据:)