5

我目前正在查看文档和网络,但我没有看到我正在寻找的内容,我只想确认我正在寻找的内容是否存在:-)

据我了解 - 这行代码允许我向 SQLite 数据库添加一条记录,我通过 Core Data 在我的应用程序中显示该记录:

NSManagedObject *newSoftware = [NSEntityDescription insertNewObjectForEntityForName:

现在是否有类似的行允许我更新我正在处理的记录?

像这样的东西?

NSManagedObject *newSoftware = [NSEntityDescription updateCurrentObjectForEntityForName:

非常感谢您的反馈:-)

4

2 回答 2

11

要更新记录,您只需更新NSManagedObject的属性。如果您使用的是 CoreData,则应该NSManagedObject为每个“表”设置 s。查询数据库后获取对对象的引用(使用NSFetchRequest)。然后您可以像这样更新记录:myObject.firstName = "John"; 当您准备好更新 Sqlite 数据库中的对象时,只需调用您NSManagedContextsave方法。我建议使用 CoreData 示例应用程序(如 Xcode 生成的默认应用程序)以更好地理解这一点。

于 2012-07-01T06:24:15.727 回答
8

这是我之前的回答。了解发生了什么非常详细。

如何更新 Core Data 中的现有对象?

根据fumoboy007评论,如果您尚未为托管对象设置子类,则必须通过 KVC 更新您的对象。如果你还没有,我建议创建它。代码看起来更简洁,因为您可以通过属性访问托管对象。

这里有一个链接:

为 ios 组织核心数据

于 2012-07-01T11:00:53.697 回答