Ios 核心数据实体属性消失

Ios 核心数据实体属性消失,ios,objective-c,core-data,Ios,Objective C,Core Data,我在我的一个类中创建了一个核心数据实体,它具有神奇的记录。我保存上下文并将实体指定给自定义单元格对象的属性 然后我将cell对象传递给另一个显示它的类。在某个随机点,实体的属性变为零 我仍然可以在数据库中找到实体,并且仍然有效。cell对象在任何时候都不会成为de reference(其存储在类属性数组中) 因此,在我的程序中,这里有一个实体: 2013-05-08 13:58:51.425 DEBUG | -[DatasetSubBar doesCellArray:containCellWit

我在我的一个类中创建了一个
核心数据
实体
,它具有神奇的记录。我保存上下文并将
实体
指定给自定义单元格对象的属性

然后我将cell对象传递给另一个显示它的类。在某个随机点,
实体
的属性变为零

我仍然可以在数据库中找到
实体
,并且仍然有效。cell对象在任何时候都不会成为de reference(其存储在类属性数组中)

因此,在我的程序中,这里有一个
实体

2013-05-08 13:58:51.425 DEBUG | -[DatasetSubBar doesCellArray:containCellWithDataset:] | cell.dataset: <SavedAnalysis: 0x22b0a4d0> (entity: SavedAnalysis; id: 0x22bba720 <x-coredata://42CA4347-1DF1-4C6B-AB44-03EFE3D86F3A/SavedAnalysis/p110> ; data: {
    createDate = "2013-05-08 18:58:00 +0000";
    name = "Unsaved Analysis";
})

2013-05-08 13:58:54.408调试-[DatasetSubBar createDisplayPanelCells]| MR|u contextForCurrentThread |丢失的数据集:(实体:SavedAnalysis;id:0x22bba720;数据:{
createDate=“2013-05-08 18:58:00+0000”;
name=“未保存的分析”;
})

我很困惑,
实体
的属性将变为零,而
实体
本身仍被引用,实体仍在数据库中。我正在使用ARC。

我认为如果对象托管对象上下文被解除分配,就会发生这种情况。我不认为在解除分配时会发送消息,以便我可以确认这一点?我设置了一个捕获,如果
实体的属性变为nil,则从数据库中重新获取它。重新获取后,我看不到问题再次发生。所以这看起来像是解决方案,但可以肯定。不,但看起来好像你有设计问题。每个对象都是一个特定上下文的一部分。如果上下文被解除分配,则其所有对象都将无效。-有一个技巧可以调试它:将自定义对象设置为上下文,并在自定义对象dealloc方法中设置断点:如果上下文被解除分配,assoc.对象也将被解除分配。
2013-05-08 13:58:54.417  DEBUG | -[DatasetSubBar createDisplayPanelCells] | cell.dataset.name: (null)
2013-05-08 13:58:54.417  DEBUG | -[DatasetSubBar createDisplayPanelCells] | cell.dataset: <SavedAnalysis: 0x22b0a4d0> (entity: SavedAnalysis; id: 0x22bba720 <x-coredata://42CA4347-1DF1-4C6B-AB44-03EFE3D86F3A/SavedAnalysis/p110> ; data: <fault>)
Dataset *test = [Dataset MR_findFirstByAttribute:@"imageHandle" withValue:self.testImageHandle inContext:[NSManagedObjectContext MR_contextForCurrentThread]];

DLog(@"MR_contextForCurrentThread | lost dataset: %@", test);
2013-05-08 13:58:54.408  DEBUG | -[DatasetSubBar createDisplayPanelCells] | MR_contextForCurrentThread | lost dataset: <SavedAnalysis: 0x1e8157a0> (entity: SavedAnalysis; id: 0x22bba720 <x-coredata://42CA4347-1DF1-4C6B-AB44-03EFE3D86F3A/SavedAnalysis/p110> ; data: {
    createDate = "2013-05-08 18:58:00 +0000";
    name = "Unsaved Analysis";
})