OStack程序员社区-中国程序员成长平台

标题: objective-c - 在 coredata 和 restkit 本地更新托管对象的属性 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 22:11
标题: objective-c - 在 coredata 和 restkit 本地更新托管对象的属性

自从 15 天以来,我一直在使用 RestKit。一旦我从远程接收到数据,我还希望能够在本地编辑属性并保存。

我尝试了几种不同的方法,但似乎都没有奏效;

 user.attribute = @"new valuel";
[[[RKObjectManager sharedManager].objectStore managedObjectContextForCurrentThread] save:&error];

        if(error)       
             NSLog(@"Error saving %@", error);

第二种方法是将值分配给实例本身并保存;

user.attribute = @"new valuel";
[user.managedObjectContext save:&error ];
NSlog(@"%@", error)

再试一次,

[[RKObjectManager sharedManager].objectStore save:&error];

似乎我无法获得指向上下文的指针。怎么可能得到指针,或者可能是保存对象,还是完全不可能?这些都不会保存到数据库中,也不会引发任何错误。这里有什么问题?



Best Answer-推荐答案


我也有同样的问题。我也在尝试你的步骤,然后用 Firefox 插件打开数据库,我可以检查 db 没有更新。

如果我找到任何最终解决方案,我会通知您...

更新:

我终于让我的代码工作了,添加了方法 refreshObject:mergeChanges。最后我的代码是这样的:

   // Make changes in managedObjectYouWantToSave 
   [managedObjectYouWantToSave.managedObjectContext refreshObject:managedObjectYouWantToSave mergeChanges:YES];
   [managedObjectYouWantToSave.managedObjectContext save:&error];

关于objective-c - 在 coredata 和 restkit 本地更新托管对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11564744/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4