Swift - 同时访问核心数据中的多个实体
Swift - Accessing multiple entities in core data at the same time
我正在将对象保存到我的核心数据中,现在我需要同时将数据保存到两个不同的实体中。
按照我自己的逻辑,如果我通常这样保存数据(效果很好):
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 没有可用的初始值设定项,我不知道这意味着什么或如何解决这个问题。请帮我解决这个问题。
如有任何关于如何进行的建议,我们将不胜感激。
您的上下文涵盖了所有 Core Data。最后保存就好了。
- 创建/编辑实体 1
- 创建/编辑实体 2
- 保存
一些建议:远离你不伦不类的命名约定。不要将您的实体称为 MainTable
- 这在 SQL 世界中甚至没有意义!令我惊恐的是,我注意到您的托管对象模型子类不是 MainTable
,而是 SecondModel
。
如果您的数据描述了小部件,您应该调用您的实体及其子类 Widget
。如果是抽象的东西,比如编程习惯,可以称它为Habit
。明白了吗?
我正在将对象保存到我的核心数据中,现在我需要同时将数据保存到两个不同的实体中。 按照我自己的逻辑,如果我通常这样保存数据(效果很好):
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 没有可用的初始值设定项,我不知道这意味着什么或如何解决这个问题。请帮我解决这个问题。
如有任何关于如何进行的建议,我们将不胜感激。
您的上下文涵盖了所有 Core Data。最后保存就好了。
- 创建/编辑实体 1
- 创建/编辑实体 2
- 保存
一些建议:远离你不伦不类的命名约定。不要将您的实体称为 MainTable
- 这在 SQL 世界中甚至没有意义!令我惊恐的是,我注意到您的托管对象模型子类不是 MainTable
,而是 SecondModel
。
如果您的数据描述了小部件,您应该调用您的实体及其子类 Widget
。如果是抽象的东西,比如编程习惯,可以称它为Habit
。明白了吗?