ios - 核心数据更新记录

时间:2012-07-01 05:39:09

标签: objective-c ios core-data

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

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

NSManagedObject *newSoftware = [NSEntityDescription insertNewObjectForEntityForName:

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

这样的事情?

NSManagedObject *newSoftware = [NSEntityDescription updateCurrentObjectForEntityForName:

非常感谢您的反馈: - )

2 个答案:

答案 0 :(得分:11)

要更新记录,只需更新NSManagedObject的属性即可。如果您使用的是CoreData,那么每个“表”都应该有NSManagedObject个。查询数据库后使用NSFetchRequest获取对象的引用。然后你可以像这样更新记录:myObject.firstName = "John"; 当您准备好更新Sqlite数据库中的对象时,只需调用NSManagedContext的{​​{1}}方法即可。我建议使用CoreData示例应用程序(比如Xcode生成的默认应用程序)来更好地理解它。

答案 1 :(得分:8)

这是我之前的答案。了解发生的事情非常详细。

How to update existing object in Core Data?

根据 fumoboy007 注释,如果您尚未为托管对象设置子类,则必须通过KVC更新对象。如果您还没有我建议创建它。由于您可以通过属性访问托管对象,因此代码看起来更清晰。

这里有一个链接:

organising-core-data-for-ios