我有一个与自己有关系的实体。 我宣布了一个名为children的第一对多关系。并且一对一命名为父母。
children - Property - parent
parent - Property - children
然后我用xcode生成了这个类。特别是每当我尝试添加新的Children对象时它都会失败。这是相关的一段代码
- (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:@"children" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects];
[changedObjects release];
}
这是我创建实体的方式
NSEntityDescription *entityProperty = [[self.managedObjectModel entitiesByName] objectForKey:@"Property"];
WZMDXProperty *p = [[WZMDXProperty alloc] initWithEntity:entityProperty insertIntoManagedObjectContext:self.managedObjectContext];
它失败了,像NSString addObject这样的消息:无法识别的选择器,这是我过早发布的对象获得的典型消息。 似乎key的原始值给出了其他对象而不是NSSet。 我试过检查员,但我无法发现错误。
答案 0 :(得分:0)
这有点不太可能,但是,你有没有试过用@“Children”取代@“孩子”? 你在这里使用“儿童”,除了代码段