我目前正在构建一个核心数据应用程序,我碰到了一个障碍。我想这里的架构上的一些上下文:核心数据混淆检索记录
该应用程序是跟踪治疗师与她的客户的会话。所以模式是这样组织的:有一张客户表,客户有会话,会话有活动,活动有指标。在应用程序中,这些指标转化为简单的计数器,计时器和NSSliders。
问题的关键在于客户希望能够将以前制定的活动插入到新客户的新会话中。所以,我试着只做一个简单的获取请求,然后转移到NSFetchedResultsController。我一直遇到这样的问题,即由于核心数据是一个对象图,我得到了大量实际上具有相同数据的活动条目。唯一的差异化财产将是无论会议是什么(如果你想更进一步,客户本身)。
我不确定这是我需要在模式本身中进行更改还是在Core Data中可以执行某种解决方法。我已经尝试通过使用结果类型NSDictionaryResultType来使用NSFetchedResultsController执行不同的读取结果。它完成我想要的东西,但我只获取实体的相关属性,而不是与它关联的任何子实体(我需要这些度量,你会看到)。
任何帮助表示赞赏,如果需要,我可以发布代码,即使我没有真正具体的编码错误。
我的东西完全按照这种方式建模,我同意我不认为应该有什么阻止我。也许我的问题是“这是怎么回事”? NSFetchedResultsController给了我不同的结果。 – jason328
@ jason328也许你需要编写代码才能获得所需的确切Activity对象。你可以使用'NSFetchRequest'和'NSPredicate'来实现,如下所述:http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/CoreData/Articles/cdFetching.html#//apple_ref/ doc/uid/TP40002484-SW1然后,您可以将该对象添加到所需的Session对象。 – 7cows
@ 7cows3,谢谢! – jason328