工作环境:OS X 10.6.3,Xcode 3.2.1
嗨!我正在开发一个名为Rent-a-Flick的项目。该项目有两个实体:电影和客户端。在他们之间有一个多对多的关系。
我有2张桌子:一张有电影,另一张有客户。它们的内容绑定到适当的数组控制器(用于电影和客户端)。
我想添加第三个表,其中只显示租借所选电影的客户端。我还应该能够在此表中添加/删除客户端。如何在不创建重复项的情况下执行此操作?
该项目是开源的。我会在发布稳定版本后立即发布。
答案 0 :(得分:0)
这个“第三个表”已隐含存在于您的核心数据多对多关系中。
当您在其中一个Core Data模型对象上调用[aMovie addClientObject:aClient]
之类的方法时,其效果是向影片 - 客户端关系表添加一行。同样,如果要删除客户端,可以使用Core Data访问器方法[aMovie removeClientObject:aClient]
,而不是直接操作表。
如果您有Movie
对象的实例,则可以通过引用该对象的clients
属性来查看哪些客户端租借该电影。例如:
NSArray *rented_clients = [[aMovie.clients] allObjects];