如何在 Swift 中从 Core Data 访问子数据和父数据

Posted

技术标签:

【中文标题】如何在 Swift 中从 Core Data 访问子数据和父数据【英文标题】:How to access child and parent data from Core Data in Swift 【发布时间】:2019-01-09 07:18:26 【问题描述】:

我有一个视图控制器 (VC2),可让您输入产品名称和描述。这个 VC 连接到另一个 VC (VC3),允许您添加多个图像。返回到 VC2 后,有一个保存 VC2 按钮和一个带有 tableview (VC1) 的视图控制器,显示产品名称列表和第一个图像的缩略图。

我将产品标题和产品描述保存到名为 ProductDetails 的 CoreData 实体中。我将图像保存到名为 ProductImages 的核心数据实体中。我在 ProductDetails 和 ProductImages 之间建立了一对多的关系。

我可以使用 NSFetchRequest 在 VC1 中加载产品标题列表。但我无法弄清楚如何在同一个 VC 中加载子图像,特别是第一张图像。我想我需要使用 NSPredicate 但我无法在线找到解决方案。任何帮助将不胜感激。Core Data Entities and relationships

【问题讨论】:

【参考方案1】:

ProductDetails 实体中的关系 image 也是您可以像访问任何其他属性一样访问的属性。

let images = productDetail.image 

images 将是一组ProductImageSet<ProductImage>

【讨论】:

谢谢。所以很高兴知道我可以将图像作为属性访问。但是当我添加图像时,我的 productDetails.image 中的值为零。我一定是在某个地方跳过了一步。

以上是关于如何在 Swift 中从 Core Data 访问子数据和父数据的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中从 Core Data 接收到的排序数组

在 Swift Core Data 中从一对多关系中获取对象

在 Core Data 中从 AppDelegate 执行回滚功能时需要访问 ManagedObjectContext 的同一实例

Singleton 类 DataLoader - 在 AppDelegate 中从 Core Data 设置值,但无法访问其他类中的 DataLoader 变量

Swift & Core Data 解包 fetchedresults

如何在 Swift 中从 Cloud FireStore Firebase 访问特定字段