2017-10-06 154 views
-1

我正在尝试使2 entities之间的关系实体,但不幸的是,由于我仍然是新手,所以效​​果不佳。xcode swift 4核心实体之间的数据关系?

例如我有playlist表和songs表我想使它们之间的关系?

enter image description here

,这是获取请求:

let fetchRequest = NSFetchRequest(entityName: "Playlist") 

//  // Add Sort Descriptor 
//  let sortDescriptor = NSSortDescriptor(key: "playlist_name", ascending: true)    
//  fetchRequest.sortDescriptors = [sortDescriptor] 


     let context = Appdelegate().managedObjectContext 

     // Execute Fetch Request 
     do { 
      let result = try context.executeFetchRequest(fetchRequest) 
      print(result) 
     } catch { 
      let fetchError = error as NSError 
      print(fetchError) 
     } 

我可以创建第三个表,使这样的歌曲和播放列表之间的关系?

enter image description here

+0

您必须定义关系。在两张表之间,让我们说playList实体应该与歌曲有关系(一对多) – dip

+0

@dip我还是新的coredata可以请你解释一下吗? – Jack

回答

0

您需要创建的核心数据模型编辑器的关系。它更容易使用这个控制,如果你切换到表模式下使用模型编辑器窗口的底部:

enter image description here

当你这样做时,窗口的主要部分将是这个样子:

enter image description here

单击关系部分中的“+”按钮,添加一个关系。填写目标实体并确保创建反向关系。

您应该不是创建第三个表来创建关系。在大多数情况下,这是SQL中的操作,而不是Core Data中的操作。

您可能还想查看relationships section of Apple's Core Data Programming Guide

+0

谢谢汤姆的好回答,但我如何查询关系?没有得到重复的数据。我正在使用swift 4 – Jack

+0

这是一个不同的问题。你应该提出一个新的问题。 –

+0

我的问题也包括获取请求!我不知道你是否注意到这一点。 – Jack