获取核心数据相关对象

Posted

技术标签:

【中文标题】获取核心数据相关对象【英文标题】:Fetching Core Data Related Objects 【发布时间】:2012-04-28 18:55:01 【问题描述】:

我有一个名为 day 的核心数据实体,它与另一个名为 spot 的名为 spotTable 的实体一对一的关系。

我获取了一天记录,我想访问与我的一天实例相关的点对象,我这样访问它:

self.spotTable = [self.day valueForKey:@"spotTable"];

但是当我将 spotTable 对象打印到控制台时,我发现数据有问题:

2012-04-28 13:33:35.161 The Parking Lot[18800:fb03] SpotTable: <NSManagedObject: 0x6b2b820> (entity: Spot; id: 0x6b2b200 <x-coredata://B1F7E573-BCD7-486D-8471-C3D80B891A3B/Spot/p1> ; data: <fault>)

有没有办法从 spotTable 对象中获取数据?

【问题讨论】:

【参考方案1】:

不会自动获取关系,因为您可能不需要它的属性。您可以手动对其进行故障排除,也可以使用 -setRelationshipKeyPathsForPrefetching。请参阅 NSFetchRequest 的文档:

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CoreDataFramework/Classes/NSFetchRequest_Class/NSFetchRequest.html

【讨论】:

以上是关于获取核心数据相关对象的主要内容,如果未能解决你的问题,请参考以下文章

核心数据获取关系对象

CoreData 获取所有相关对象

如何获取与其他不使用 id 字段相关的托管对象?

核心数据:从相关实体中获取

获取对象是不是也获取核心数据中的关系对象

核心数据获取谓词“不包含”?