许多关系核心数据

时间:2012-11-26 04:37:21

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

我有一个条件,我的两个实体有许多:

  

一个类别可以有很多地方,另一方面,地方也可以   在许多类别下

数据已成功存储在我的sqlite中,但是当我在sqlite manager软件中检查两个entite的结构时,两者之间的关系就消失了。

通常,当我声明1 .. *时,例如:

  

实体B有一个实体A

     

地点属于一个类别

类别将成为Place中的属性,我可以将其用于以后使用:

Category *category = (Category*)place.category;
NSString *catId = category.catId;

如果那里有值,它应返回值catId

但是在很多情况下,我甚至无法得到catId,它会像这样崩溃:

-[_NSFaultingMutableSet catID]: unrecognized selector sent to instance

我在这里想念一个概念吗?我相信核心数据支持多种关系,因为我已经在某些网络中阅读过了。谢谢!

1 个答案:

答案 0 :(得分:1)

您与Place->类别之间存在'to-many'关系,因此place.categoryNSMutableSet对象而不是Category对象

试试这个

NSMutableSet *categorySet = place.category;

foreach (Category *category in categorySet)
{
    NSString *catId = category.catId;
    NSLog(@"catId: %@", catId);
}