我目前正在查看文档和网络,但我没有看到我在寻找什么,我只是想确认我要找的是否存在: - )
据我了解 - 这行代码允许我将记录添加到SQLite数据库中,我通过Core Data在我的应用程序中显示:
NSManagedObject *newSoftware = [NSEntityDescription insertNewObjectForEntityForName:
现在是否有类似于允许我更新我正在处理的记录的行?
这样的事情?
NSManagedObject *newSoftware = [NSEntityDescription updateCurrentObjectForEntityForName:
非常感谢您的反馈: - )
答案 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更新对象。如果您还没有我建议创建它。由于您可以通过属性访问托管对象,因此代码看起来更清晰。
这里有一个链接: