开发者

CoreData error with self referential relationship

I have an entity with a relationship with itself. I have declared a first to-many relationship named children. And a one to one named parent.

children - Property - parent
parent   - Property - children

Then I generated the class with xcode. In particular it fails whenever I try to add new Children objects. This is the relevant piece of code

- (void)addChildrenObject:(WZMDXProperty *)value {    
    NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value count:1];
    [self willChangeValueForKey:@"children" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects];
    [[self primitiveValueForKey:@"children"] addObject:value]; // <<--FAILS HERE !!!!
    [self didChangeValueForKey:@"c开发者_开发知识库hildren" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects];
    [changedObjects release];
}

This is how I create the entity

   

NSEntityDescription *entityProperty = [[self.managedObjectModel entitiesByName] objectForKey:@"Property"];
    WZMDXProperty *p = [[WZMDXProperty alloc] initWithEntity:entityProperty insertIntoManagedObjectContext:self.managedObjectContext];

It fails with a message like NSString addObject: unrecognized selector which is the typical message I get with too soon released object. It seems that primitive value for key give other objects rather than the NSSet. I have tried with the inspector, but I wasn't able to spot the error.


it's a bit unlikely, but, have you ever tried to replace @"children" with @"Children" ? You're using "Children" all over here, except in the code segment

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜