核心数据关系教程?添加/查找属于某个东西的对象?

时间:2010-08-29 22:49:37

标签: iphone core-data sdk

任何人都有指向基本创建,检索,更新,删除类型操作的coredata关系教程的链接?

我设置了两个实体,实体A和实体B.

我在A和B之间建立了关系和反向关系。

A可以有很多B. B只能有一个A.

基本上我需要完成的任务:

1)当将B添加到A时,我需要确定A中是否已经存在B(我该如何测试?) 2)如何创建B然后将其保存到A?

TIA

1 个答案:

答案 0 :(得分:0)

你可能在A中有一个NSSet *,但你在B中有一个A *属性。(A有很多B,B有一个A)。

A* a = [NSEntityDescription insertNewObjectForEntityForName:@"A" inManagedObjectContext:moc];
B* b = [NSEntityDescription insertNewObjectForEntityForName:@"B" inManagedObjectContext:moc];
B.hasA = A;

将A添加到A时,关系存储在一个集合中。根据定义,你在A中只有一个B的实例。我认为你不必担心确保它不存在。如果你想要你可以获取所有实体B,其中谓词的一部分是“hasA = A”,第二部分是检查唯一标识你B对象的东西,例如一个唯一的密钥。

你会发现Core Data负责关系的另一面,即将B添加到A的NSSet。