从核心数据中检索数据

Posted

技术标签:

【中文标题】从核心数据中检索数据【英文标题】:Retrieving data from core data 【发布时间】:2011-05-21 16:56:43 【问题描述】:

我使用 xcdatamodel 来定义许多基于 CoreData 数据实体的类。这很好用,我可以根据 Apple 的示例检索它们:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdFetching.html

然而,我所追求的是一种将 fetch 方法打包到另一个类中的方法,但我有几个问题...... 例如

MyDataAccessClass *mdac = [[MyDataAccessClass alloc] init]; myFetchedData = [mdac fetchData];

第一季度。如果我这样做,可以在类中定义 NSManagedObjectContext 吗?还是仍然需要在我的视图控制器中引用并传递给我的“MyDataAccessClass”? Q2。在 XCode 为数据模型中的实体创建的类中设置数据检索方法对我来说很有意义。虽然每次我尝试这样做,然后自动更新这些类,因为它们是由 XCode 自动生成的,但它们会覆盖我定义的任何方法。

提前致谢!

【问题讨论】:

如果你想为你的实体添加方法,你可以在另一个文件中定义的类别中这样做,避免 Q2 问题 【参考方案1】:

您也许可以在单独的类中创建一个新的 NSManagedObjectContext - 不确定是否会有任何问题,因为已经在 appDelegate 中创建了一个。我所做的是您在 Q1 的第二部分中建议的,我将 NSManageObjectContext 传递到单独的方法类中,这样我就可以执行以下操作:

myFetchedData = [mdac fetchData:currentNSManagedObjectContext];

【讨论】:

以上是关于从核心数据中检索数据的主要内容,如果未能解决你的问题,请参考以下文章

从核心数据中保存和检索数据

从核心数据数据库中检索数据的替代方法 - ios

核心数据关系,如何从关系中插入和检索数据

从核心数据中检索特定对象

我可以从服务器检索数据并将其存储在核心数据中吗?

从核心数据中检索 UUID 并设置 UUID 变量不起作用