iPhone:核心数据更新数据

时间:2012-01-17 13:43:09

标签: iphone core-data

我在我的应用中使用核心数据,想知道如何更新实体数据及其关系。

此处'功能'是实体,'别名'是NSSet关系。

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Features" inManagedObjectContext:self.managedObjectContext];


NSManagedObjectContext *aliasMOC = [NSEntityDescription insertNewObjectForEntityForName:@"Alias" inManagedObjectContext:managedObjectContext];

使用insertNewObject创建一个新集合,只更改其连接,而旧的NSSet保留在sqlite中,我认为这会增加“不必要的数据”,而不会链接到Feature实体在数据库中。

1 个答案:

答案 0 :(得分:0)

很难说出你在这里尝试做什么,但insertNewObjectForEntityForName没有返回NSManagedObjectContext。您通常对所有数据库操作使用相同的ManagedObjectContext。在继续之前,您可能需要经过tutorial

我认为您正在尝试创建一个多对多关系,在这种情况下,您可以创建一个子实体,然后指定它的父类,如下所示(未经测试):

Parent *parent = [NSEntityDescription insertNewObjectForEntityForName:@"Parent" inManagedObjectContext:managedObjectContext];
Child *child = [NSEntityDescription insertNewObjectForEntityForName:@"Child" inManagedObjectContext:managedObjectContext];

child.parent = parent;

parent.children现在应该包含child。这假设您的模型中存在ChildParent个实体,并且作为对象并建立了关系。

相关问题