【发布时间】:2017-02-27 04:57:06
【问题描述】:
我在表格视图中有事件的名称,我喜欢将用户的响应(是 = 1,否 = 2 来自动作控制器)连同事件名称一起保存。所以我创建了 2 个实体
EventSchedule (eventName: String, eventTime: Transformable)
与one to one关系eventSchedule到
EventDec (eventStatus: Integer16)
和one to one反比关系eventDec
我做了以下
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath){
let alert = UIAlertController(title: "title", message: "msg", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "yes", style: .default) { _ in
let eventDesc = NSEntityDescription.insertNewObject(forEntityName: "EventDec", into: context)
let eventSch = NSEntityDescription.insertNewObject(forEntityName: "EventSchedule", into: context)
//How do I add relationship property to the above objects so that I can store event name along with response in database?
eventDesc.setValue(1, forKey: "eventStatus")
do
{
try context.save()
print("Record Saved Successfully")
print(eventDesc)
}
catch{}
})
alert.addAction(UIAlertAction(title: "no", style: .default) { _ in
let eventDesc = NSEntityDescription.insertNewObject(forEntityName: "EventDec", into: context)
let eventSch = NSEntityDescription.insertNewObject(forEntityName: "EventSchedule", into: context)
//How do I add relationship property to the above objects so that I can store event name along with response in database?
eventDesc.setValue(2, forKey: "eventStatus")
do
{
try context.save()
print("Record Saved Successfully")
print(eventDesc)
}
catch{}
})
present(alert, animated: true, completion: nil)
}
【问题讨论】:
-
您可以像插入数据
eventDesc.setValue(2, forKey: "eventStatus")一样设置与KVC的关系。您必须在那里使用关系名称。