Tag: 实体关系

为什么一个实体需要一个逆向的?

我有一个非常简单的核心数据模型,包含一个包含多个图像的图库。 在我看来,画廊与图像有一对多的关系就足够了,但是如果我也不build立从图像到图库的反向关系,我会得到编译器的警告和错误。 从面向对象的angular度来看,在我看来,一个Image不应该知道或在乎它是否在一个Gallery或任何其他ManagedObject中,那么为什么编译器会迫使我创build这种反向关系呢? 在图像上拥有“画廊”属性似乎是非常错误的。

核心数据multithreading存储关系

我的问题很奇怪,我正在寻求帮助。 我想向你解释我的系统是如何工作的。 我有两个问题。 我正在申请有两张桌子。 我正在使用核心数据。 表是类别和产品 ,在核心数据中我已经build立了一对多的关系类别可以有多个产品 , 产品可以捧一个Categroy 。 这是基本的模式 Category { site_id name allProducts ->> Product } Product { site_id name category -> Category } 这是简单的模型产品和catwegories有更多的属性 在那个应用程序中,我有更新过程,并且该过程在后台线程中工作。 我已经创build了该线程的上下文,以及我在该上下文中存储的所有更改。 所有的调用我在后台线程中执行 [context performBlock:^{ // all my operations for updating storing categories and products }] 这是更新过程的stream程 从服务器获取JSON与类别数据 从服务器获取JSON与产品数据 从服务器获取JSON与类别具有哪些产品array((category_site_id > array(product_site_id1, product_site_id2…)) 通过类别JSON和商店类别实体,我从JSON获取名称和site_id并创build实体并设置这些属性 传递产品JSON并创build产品实体,并从JSON的属性中设置名称和store_id 然后是主要部分 现在我需要将产品连接到基于步骤3中的JSON的类别,这是一个问题。 […]

核心数据逆关系没有被设置

我有两个实体,我打电话给A和B.他们在两个方向configuration了多对多关系,所以A.myBs和B.myAs都是NSSets。 这是我奇怪的问题。 当我添加一个B到我的A实体时,我使用mutableSetValueForKey这样做: NSMutableSet *myBSet = [myA mutableSetValueForKey:@"myBs"]; [myBSet addObject:theBtoAdd]; 这确实添加了BtoAdd到A实体,但不添加反比关系。 核心数据上下文保存不会踢任何错误,但我的A对象没有B反转集。 如果我退出应用程序,即使部分关系不保存。 这是奇怪的部分…如果我只是切换我的代码,做相反的(有理由为什么这是很难做我的特定应用程序) – 添加A到B,而不是像这样添加B到A: NSMutableSet *myASet = [myB mutableSetValueForKey:@"myAs"]; [myASet addObject:theAtoAdd]; 它工作得很好。 顺便说一句,我有很多其他的一对多关系的工作。 只是这一个没有。 其他几件事:1)我的核心数据对象模型看起来不错,但这是我在Xcode 4下添加的第一个新实体2)我检查,重新检查,并盲目看着我的自定义NSManagedObjects,但他们看起来罚款dynamic,NSSet,没有冲突的制定者/获得者…等 任何帮助或debuggingbuild议将不胜感激。 谢谢!