Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何在通过核心数据保存RestKit托管对象之前修改它?_Objective C_Ios_Cocoa Touch_Core Data_Restkit - Fatal编程技术网

Objective c 如何在通过核心数据保存RestKit托管对象之前修改它?

Objective c 如何在通过核心数据保存RestKit托管对象之前修改它?,objective-c,ios,cocoa-touch,core-data,restkit,Objective C,Ios,Cocoa Touch,Core Data,Restkit,我有一个核心数据管理对象支持的RestKit设置,但是我有一些字段不在服务器上,只在本地模型类中 如何在持久化对象之前设置这些字段。我是否可以实现类似“willSave”的委托方法 谢谢我不太明白您想要完成什么,但您可以在NSManagedObject中重写将保存的内容。DOC对它所做的给出了很好的解释。 < P>如果要在保存之前修改输入数据,就应该考虑对象不被持久化(AKA通过托管对象上下文插入到持久存储中),直到保存为止。为什么不能在保存之前设置属性?当我调用loadObjectsAtRes

我有一个核心数据管理对象支持的RestKit设置,但是我有一些字段不在服务器上,只在本地模型类中

如何在持久化对象之前设置这些字段。我是否可以实现类似“willSave”的委托方法


谢谢

我不太明白您想要完成什么,但您可以在NSManagedObject中重写
将保存的内容。DOC对它所做的给出了很好的解释。

< P>如果要在保存之前修改输入数据,就应该考虑

对象不被持久化(AKA通过托管对象上下文插入到持久存储中),直到保存为止。为什么不能在保存之前设置属性?当我调用loadObjectsAtResourcePath时,由RKManagedObjectStore支持的RKObjectManager自动处理持久化。我一直在寻找一种方法,在扑救发生之前拦截它。我认为这是实现这一点最简单的方法。Thankshow此解决方案是否与缓存对象交互?您是否只能在第一次收到新对象时修改值,而不能在找到缓存值时修改值?@deepwinter我不太了解RestKit,但您可以看看
-awakeFromFetch
(以及
-awakeFromInsert
)。它们为您提供了在其他时间更新对象的机会。如果这不能解决您的问题,请继续并发布一个新问题。