我有两个核心数据实体。让我们称他们为AAA
和BBB
。
BBB
包含与AAA
的关系,一对一。
当我创建新的BBB
条目时,我(此时myA
是AAA
上的一个条目):
BBB *item = nil;
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"BBB" inManagedObjectContext:context];
request.predicate = [NSPredicate predicateWithFormat:@"(relation == %@)", myA];
NSError *error = nil;
item = [[context executeFetchRequest:request error:&error] lastObject];
[request release];
if (!error && !umItem) { // if there's no item, create a new one
item = [NSEntityDescription insertNewObjectForEntityForName:@"BBB" inManagedObjectContext:context];
item.relation = myA; // to create a relation from BBB to AAA
}
在某个时间点,我只有一个BBB
个对象的列表。请记住,每个BBB
对象都有一个名为relation
的属性,指向AAA
。
现在,如何检索AAA
?
是否足够
AAA *myAAA = (AAA*)myBBB.relation;
这个relation
对象本身是AAA
吗?
我该怎么做? 感谢
答案 0 :(得分:1)
是的,通过致电myBBB.relation;
(如果relation
类型为AAA
,则无需动态输入),您将获得课程AAA
或nil
的对象。如果relation
不是可选的,那么在committing
更改之前,您应该定义与所有更新/新对象的关系。