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)时,我出现了错误“展开可选值时意外发现零”。