将现有模型保存到Core Data DB

时间:2011-07-19 18:16:45

标签: ios core-data

我正在学习核心数据,我理解创建全新对象,分配值并将其保存到managedContext(insertNewObjectForEntityForName)的所有示例。 但是,如果我已经在别处创建了一个对象(模型类别)怎么办?在这种情况下,我只想将当前Context分配给此Model,然后保存它。

获取内存模型的命令/方法是什么,然后分配给上下文以便保存?

2 个答案:

答案 0 :(得分:1)

如果您想使用Core Data管理您的数据,您需要:

  • 创建适当的模型描述(.xcdatamodeld文件)

  • 修改您的模型类,以便它们从NSManagedObject继承

  • 将模型描述中每个实体的“Class”设置为一个NSManagedObject子类

  • 为您的应用添加代码,以创建和管理核心数据堆栈,获取数据等。

这一切都非常可行,但我不建议你在核心数据和你在项目中采用它的原因有充分理解之前再尝试。你的问题缺乏明确性可能表明你还没有完全存在;您可能会从一开始就使用Core Data的小项目中受益。

如果您只想保存数据,则应该知道Core Data不是唯一的方法。保存数据的一种更简单的方法是在数据模型中采用NSCoding协议,然后使用NSKeyedArchiver存储数据。从Archives and Serializations Programming Guide获取完整的故事。还有其他方法可以做到,但NSKeyedArchiver是一个很好的起点。

答案 1 :(得分:0)

您只能将NSManagedObject(及其子类)保存到CoreData。除NSManagesObject上下文外,无法创建NSManagedObjectContext

所以,你所说的是令人困惑的。你有非CoreData模型对象吗?