我将对象保存到我的核心数据,现在我需要一次将数据保存到两个不同的实体 . 遵循我自己的逻辑,如果我通常保存我的数据(这完美地工作):
let appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let contxt: NSManagedObjectContext = appDel.managedObjectContext!
let en = NSEntityDescription.entityForName("MainTable", inManagedObjectContext: contxt)
var newMessage = SecondModel(entity: en!, insertIntoManagedObjectContext: contxt)
newMessage.receiver = object["Receiver"] as String
contxt.save(nil)
我应该能够通过使用我的不同实体创建另一个变量来保存到另一个实体,如下所示:
let enet = NSEntityDescription.entityForName("AlreadyRec", inManagedObjectContext: contxt)
var secondMessage = ThirdModel(entity: enet!, insertIntoManagedObjectContext: contxt)
这给了我一个错误,说“ThirdModel没有可用的初始化器,我不知道这意味着什么或如何解决这个问题 . 请帮我解决这个问题 .
任何关于如何进行的建议都将受到高度赞赏 .
1 回答
您的上下文涵盖了所有核心数据 . 只需保存到最后 .
创建/编辑entity1
创建/编辑entity2
保存
一些建议:远离你的不起眼的命名约定 . 不要调用你的实体
MainTable
- 这在SQL世界中甚至没有意义!令我恐惧的是,我注意到您的托管对象模型子类不是MainTable
而是SecondModel
.如果您的数据描述了小部件,则应该调用您的实体及其子类
Widget
. 如果它是抽象的东西,比如编程习惯,你可以称之为Habit
. 明白这点?