在我的应用程序中,我使用 CoreData,我有两个实体。地点信息和联系信息。
在app中可以添加场地,每个场地都有ContactInfo。所以我在我的模型中建立了一对一的关系。
所以我想,我可以简单地执行以下操作:
[venue.contact setValue:textField.text forKey:email];
因此,您需要设置属于该场所的联系人对象的电子邮件属性。但是,这不起作用。
是否有可能是因为联系人对象还不存在?
在我的应用程序中,我使用 CoreData,我有两个实体。地点信息和联系信息。
在app中可以添加场地,每个场地都有ContactInfo。所以我在我的模型中建立了一对一的关系。
所以我想,我可以简单地执行以下操作:
[venue.contact setValue:textField.text forKey:email];
因此,您需要设置属于该场所的联系人对象的电子邮件属性。但是,这不起作用。
是否有可能是因为联系人对象还不存在?
你写的那行不会那样工作。我假设联系人是您在 xCodeModel 中的 Venue 实体中的关系名称。
[venue.contact setValue:textField.text forKey:email]; // can't write this way..
假设您的ContactInfo
实体有两个字段 : phone
,email
那么您可以这样走。VenueInfo
实体有两个字段 : name
。
VenueInfo *venueInfo=[NSEntityDescription insertNewObjectForEntityForName:@"VenueInfo" inManagedObjectContext:self.managedObjectContext];
vanueInfo.name=txtVenueName.text; // venue name entry
ContactInfo *contactInfo=[NSEntityDescription insertNewObjectForEntityForName:@"ContactInfo" inManagedObjectContext:self.managedObjectContext];
contactInfo.phone=txtPhone.text;
contactInfo.email=txtEmail.text;
contactInfo.venue=venueInfo; // I assume venue is the relationship name you give in ContactInfo entity towards Venue entity.
我们在这里所做的只是将电话和电子邮件详细信息保存到ContactInfo
实体,然后我们只是将其与当前选择VenueInfo
的访问我们在ContactInfo
Entity 中声明的关系相关联VenueInfo
。
这可能很令人困惑,因此我建议您遵循一些教程,这些教程将使您了解一些有关核心数据关系的基础知识。