Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 未在父NSManagedObject上下文上更新NSManagedObject属性_Objective C_Cocoa_Core Data_Nsmanagedobject_Nsmanagedobjectcontext - Fatal编程技术网

Objective c 未在父NSManagedObject上下文上更新NSManagedObject属性

Objective c 未在父NSManagedObject上下文上更新NSManagedObject属性,objective-c,cocoa,core-data,nsmanagedobject,nsmanagedobjectcontext,Objective C,Cocoa,Core Data,Nsmanagedobject,Nsmanagedobjectcontext,所以我有两个NSManagedObjectContext对象。父上下文和子上下文。我有几个NSManagedObjectModels,我能够创建/编辑/销毁其中的4个。没问题。我可以在子上下文中插入对象,然后保存它,瞧,它会在根上下文中弹出 然而,五分之一给我带来了麻烦。我可以毫无问题地插入它,它将显示在根上下文中。当我试图更改对象的属性时,尽管它在根上下文中没有得到更新。这里是控制台的打印输出(注意value属性没有得到更新) 谢谢大家 p、 我检查了我的.xcdatamodeld文件,一切似

所以我有两个NSManagedObjectContext对象。父上下文和子上下文。我有几个NSManagedObjectModels,我能够创建/编辑/销毁其中的4个。没问题。我可以在子上下文中插入对象,然后保存它,瞧,它会在根上下文中弹出

然而,五分之一给我带来了麻烦。我可以毫无问题地插入它,它将显示在根上下文中。当我试图更改对象的属性时,尽管它在根上下文中没有得到更新。这里是控制台的打印输出(注意value属性没有得到更新)

谢谢大家


p、 我检查了我的.xcdatamodeld文件,一切似乎都正常。我将值存储为字符串,其余值存储为整数16和布尔值。

看起来您的
属性的定义不正确。以下是一份检查清单:

  • 您已经检查了数据模型中的数据类型
  • 您还应该检查
    NSManagedObject
    子类中的正确类型
  • 此外,请再次检查如何设置新值

  • 嗯……关于CoreData还有很多要学的

    基本上,我遇到的问题是:

  • 创建NSManagedObject,但不插入到上下文中
  • 更新新创建对象的属性
  • 将对象插入到上下文中

  • 但是,如果我反向执行步骤1和2,而是先将对象插入上下文,然后更新属性,则效果很好。

    如果这没有帮助,您需要发布一些代码(如上所述)。您好,Mundi,感谢您的回复。我查了1。我仔细检查了2,并将值设置为NSString*。让我困惑的一件事是,为什么子上下文设置正确,而根上下文设置不正确。根据原始帖子中的打印结果,子上下文的正确值为4,但即使在调用[\u childContext save:&error]之后,rootContext的值仍为nil。我怀疑,因为该值为nil,所以它不会将属性写入我正在检查的xml文件。只是一种预感。。。
    ====root_context:("<Token: 0x1006f6a30> (
        entity: Token; 
        id: 0x107115130 <x-coredata:///Token/t2AC116F0-E89B-485D-B0A9-C3D2A58B84847> ; 
        data: {    association = 0;    
        equation = \"0x107114b10 <x-coredata:///Equation/t2AC116F0-E89B-485D-B0A9-C3D2A58B84846>\";    
        isValid = 0;    
        precedence = 0;    
        type = 0;    
        value = nil;})") 
    ====child_context:("<Token: 0x1071150a0> (
        entity: Token; 
        id: 0x107115130 <x-coredata:///Token/t2AC116F0-E89B-485D-B0A9-C3D2A58B84847> ; 
        data: {    association = 0;
        equation = \"0x107114b10 <x-coredata:///Equation/t2AC116F0-E89B-485D-B0A9-C3D2A58B84846>\";
        isValid = 0;
        precedence = 0;
        type = 0;
        value = 4;})"
    
    <object type="TOKEN" id="z104">
        <attribute name="type" type="int16">0</attribute>
        <attribute name="precedence" type="int16">0</attribute>
        <attribute name="isvalid" type="bool">0</attribute>
        <attribute name="association" type="int16">0</attribute>
        <relationship name="equation" type="1/1" destination="EQUATION" idrefs="z106"></relationship>
    </object>