我在我的应用程序中使用核心数据,想知道如何更新实体数据及其关系。
这里'Feature‘是实体,'Alias’是NSSet关系。
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Features" inManagedObjectContext:self.managedObjectContext];
NSManagedObjectContext *aliasMOC = [NSEntityDescription insertNewObjectForEntityForName:@"Alias" inManagedObjectContext:managedObjectContext];使用insertNewObject创建一个新的集合,并且只更改它的连接,而旧的NSSet保持在sqlite中,我相信这将增加没有链接到数据库中的特征实体的“不必要的数据”。
发布于 2012-01-18 01:54:42
很难说你在这里试图做什么,但是insertNewObjectForEntityForName不会返回NSManagedObjectContext。通常,所有数据库操作都使用相同的ManagedObjectContext。在继续之前,您可能需要通过tutorial。
我认为您正在尝试创建一种多对多关系,在这种情况下,您可以创建子实体,然后指定其父实体,如下所示(未测试):
Parent *parent = [NSEntityDescription insertNewObjectForEntityForName:@"Parent" inManagedObjectContext:managedObjectContext];
Child *child = [NSEntityDescription insertNewObjectForEntityForName:@"Child" inManagedObjectContext:managedObjectContext];
child.parent = parent;parent.children现在应该包含child。这假设Child和Parent图元作为对象存在于模型中,并设置了关系。
https://stackoverflow.com/questions/8895623
复制相似问题