Core data 在swift中创建与现有对象核心数据的关系

Core data 在swift中创建与现有对象核心数据的关系,core-data,Core Data,我有两个实体事件和参与者。我在事件表中已经有事件。我想在事件表中插入新参与者期间,在参与者和作为变量传递的现有事件之间创建一个关系。(即插入事件->转到页面“将参与者添加到事件”插入参与者。我的代码是: event.name! (passed with"segue") func addPartecipantInEvent() { let newPartecipant = Partecipants(entity: CoreDataController.share

我有两个实体事件和参与者。我在事件表中已经有事件。我想在事件表中插入新参与者期间,在参与者和作为变量传递的现有事件之间创建一个关系。(即插入事件->转到页面“将参与者添加到事件”插入参与者。我的代码是:

  event.name! (passed with"segue") 
  func addPartecipantInEvent() {
    let newPartecipant = Partecipants(entity:          CoreDataController.sharedIstance.entityPartecipants!, insertIntoManagedObjectContext:  CoreDataController.sharedIstance.context)



         let partecipantName = partecipantTxt.text!

            let eventName = event.name!




    newPartecipant.setValue(partecipantName, forKey: "name")

    eventName.addPartecipant(newPartecipant)

但不起作用。

如果
eventName
是一个字符串,则会出现错误。字符串没有名为
addPartecipant
的方法。如果您的实体是
Event
,则该方法可能存在于
Event
上,但不存在于
Event上。name

以何种方式不起作用?最后一行错误:“类型字符串的值没有'AddParteCippant'的成员,
event
eventName
的类型是什么?事件的类型是与eventNameYes相同的字符串,但如果我放置event.AddParteCippant(NewParteCippant)似乎什么都没有发生……我如何检查关系是否已完成?您可以通过在参与者或事件上查找关系来检查关系的值。我已尝试打印结果:event.addPartecipant(newPartecipant)print(“Partecipant(newPartecipant.pName)添加到event(newPartecipant.events?.name)”)控制台抓取结果(即参与者X添加到事件Y中)。我们可以假设关系已创建吗?听起来是这样的。为什么您认为“什么都没有发生”?您希望发生什么事情而不是发生?因为当我尝试抓取值(即valueLbl.text=particients.events?.name)时,我出现了错误“展开可选值时意外发现零”。