将对象添加到具有多对多关系的Core Data中的NSSet

时间:2012-04-07 16:07:39

标签: objective-c ios core-data many-to-many

我有餐厅和氛围的核心数据结构,餐厅可以有很多气氛,气氛可以有很多餐厅。所以我做了两对多的关系,两者都是苹果公司文档中所说的相反,形成了多对多的关系。

但是我在创建的集合中添加对象时遇到了麻烦。例如,当我使用这样的代码时,

Atmosphere *atmosphere = [Atmosphere atmosphere:aId inManagedObjectContext:context];
[restaurant addAtmospheresObject:atmosphere];

它崩溃了一个奇怪的错误:

EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)

有没有人遇到过这个?

1 个答案:

答案 0 :(得分:12)

您似乎没有正确创建atmosphere对象。试试这个:

Atmosphere *atmosphere = [NSEntityDescription 
   insertNewObjectForEntityForName:@"Atmosphere" 
            inManagedObjectContext:context];
// further configuration
if (restaurant) {
   [restaurant addAtmospheresObject:atmosphere];
}