提取所有关系数据-核心数据

时间:2018-07-22 20:06:55

标签: swift core-data nsmanagedobject

我是核心数据的新手。我正在从API提取数据,然后将它们保存到核心数据。这就是我的dataModel。

enter image description here

这是我的API结构,

{
"name" : "name here",
"content" :[
{
    "homeContentItems" : [
    {
         "some objects" : "values",
         "contentItemDetails": [
          {
          }, 
          {
          }
         ]
    },
    {
         "some objects" : "values",
         "contentItemDetails": [
          {
          }, 
          {
          }
         ]
    }

  ]
},
{
    "homeContentItems" : [
    {
         "some objects" : "values",
         "contentItemDetails": [
          {
          }, 
          {
          }
         ]
    },
    {
         "some objects" : "values",
         "contentItemDetails": [
          {
          }, 
          {
          }
         ]
    }

  ]
}

]
}

如何从实体获取数据,以便我也可以从相关实体获取所有数据?

我以前从未使用过数据库,所以对我来说有点困难。任何帮助将不胜感激。

let informedDataFetch = NSFetchRequest<NSFetchRequestResult>(entityName: "Informed360Entity")
    informedDataFetch.fetchLimit = 1
    informedDataFetch.predicate = NSPredicate()
    let tableviewData = try! context.fetch(informedDataFetch)

    let tdata : Informed360Entity = tableviewData.first as! Informed360Entity
    var contentData = tdata.toContent?.allObjects as? [ContentEntity]

我尝试了这段代码并从ContentEntity表获取数据。我如何也可以获取其他2个表的数据,以便可以在tableview中显示。

1 个答案:

答案 0 :(得分:1)

您执行的操作与ContentEntity相同,但是现在您使用了表示关系的两个属性contentDetailItemhomeContentItems,这两个属性都将返回Set。

 for content in contentData {
     let contentDetailItems = content.contentDetailItem
     let homeContents = content.homeContentItems
     //...
 }