在核心数据中,有没有一种方法可以让一个对象的实例具有指向另一个对象的多个链接?通过一个例子可以最好地理解这一点。您有一个购物车对象 ShoppingCart,还有书籍 Book。如何正确地将同一本书的多本放入购物车?
无论您运行多少次[shoppingCart addBooksObject:book];
,它都只会显示一次。
现在,我在两者之间建立了多对多连接,但由于 shoppingCart.books 是一个集合,因此它会删除重复项。我该如何解决这个问题?
最佳答案
您可以通过使用适当的数据模型来解决这个问题。 :-)
这是典型的“订单项”问题。有产品、发票和行项目。就您而言,书籍是产品,购物车是发票。您不将产品放入购物车,而是将订单项(链接到产品)放入购物车。
订单项属于购物车(每个产品一个)并包含数量属性(并且可能是基于基于数量的某些批量折扣计算出的小计)。换句话说,您需要一个中间实体(也许是 CartItem?)来保存关系和数量。
关于iphone - 核心数据 : multiple copies of the same item linked to another?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4000532/