2013-04-30 22 views
1

我在iOS编程和核心数据方面比较新,所以请原谅我,如果这是一个愚蠢的问题。在我的项目中,我有两个实体。实体(1)被命名为“医生”,实体(2)是“患者”。 Doctor与Patient之间的关系被命名为“患者”。反面名为“医生”。我与医生之间有一对多的关系。这些实体已被分类。我有根视图控制器显示医生名称。我希望能够选择一位医生的细胞,并将他的患者显示在segued视图控制器上。他的患者被包含在NSSet中。我被困在这里。我是否在segue代码中传递NSSet,还是在提取请求中使用谓词来仅提取适用的患者姓名?任何你可以提供的代码示例将不胜感激。如何正确编写核心数据与NSSet进行深入研究

回答

1

只要通过Doctor对象获得当用户轻敲细胞到您的细节控制器。然后在详细控制器中使用doctor.patients(NSSet)。这是最简单的选项,如果不对数据进行任何更改,它将很好地工作。您可能会以表格的形式显示患者,因此您需要使用NSSortDescriptor在显示患者之前组织患者(然后他们将排列在阵列中,并使用objectAtIndex:)。

如果您要更改数据,它仍然可以工作,但您需要以某种方式了解有关更改,以便您可以更新UI。

如果您已经有一个提取的结果控制器,那很好,并且会监视您的更改。在这种情况下使用doctor在谓词格式:

[NSPredicate predicateWithFormat:@"doctor = %@", self.doctor]; 

无论哪种方式,医生对象传递给新的视图控制器。

+0

感谢您的快速响应。需要澄清一些情况。对于第二个表视图控制器,是否需要另一个FRC用于第二个视图控制器,或者只是从第一个视图控制器传递参考? – user2076367 2013-05-01 12:42:30

+0

每个视图控制器都有它自己的FRC。第一个是取病人,第二个取病人。 – Wain 2013-05-01 13:08:00

+0

非常感谢。你一直在帮助很大。 – user2076367 2013-05-01 13:24:26