【问题标题】:create entity in child NSManagedObjectContext with relationship to parent entity在子 NSManagedObjectContext 中创建与父实体有关系的实体
【发布时间】:2013-04-26 12:35:46
【问题描述】:

我正在为编辑实体创建临时上下文:

    NSManagedObjectContext *parent = [Default managedObjectContext];//my main managed context
    NSManagedObjectContext *_createNewContex = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
    [_createNewContex setParentContext:parent];

在 _createNewContex 中,我正在尝试创建我的临时条目以进行编辑。

   MyTempEntry *entry = [MyTempEntry createInContext:_createNewContex];

创建正常,但如果尝试从父上下文为条目分配关系:

  entry.entryFromParent = parentEntry;

我有错误:

* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“非法尝试在不同上下文中的对象之间建立关系“entryFromparent”

【问题讨论】:

    标签: ios core-data nsmanagedobjectcontext


    【解决方案1】:

    你不能在上下文之间使用对象。您需要使用其 objectID 或其他值在辅助上下文中查找该对象。

    然后可以使用来自辅助上下文的对象来创建关系。

    类似于下面的粗略代码

    NSManagedObjectID *objectID = [parentEntry objectID];
    
    id newContextParentEntry = [_createNewContext objectWithID:objectID]; 
    
    entry.entryFromParent = newContextParentEntry;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2012-01-14
      • 1970-01-01
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      相关资源
      最近更新 更多