2014-03-13 19 views
0

我使用restkit来消费一个Web服务,但是当我得到的数据我想添加一些其他参数,我搜索,我发现我应该实现函数称为willsave,但我不知道方式Restkit编辑插入coredata

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:brandId,@"brandId",categoryId,@"categoryId", nil]; 

[[RKObjectManager sharedManager] postObject:nil path:@"/mywebservice" parameters:params success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { 

    [self getProductsList]; 

} failure:^(RKObjectRequestOperation *operation, NSError *error) { 

}]; 
+0

这里有很多缺少的信息。描述您当前的托管对象属性,从WS获取的信息,您希望添加的参数以及它们应包含的数据。 'willSave'是NSManagedObject的一种方法,你可以重载,当调用上下文'save'方法时调用它。除非你真的知道你在做什么,并且这对你来说是正确的解决方案,我建议你暂时不要重写它。 –

+0

所以你建议我做什么,如何在插入到数据库之前修改所使用的对象? – mohamed

+0

可能重复的[URL中的ID的RestKit关系映射](http://stackoverflow.com/questions/17325026/restkit-relationship-mapping-by-id-in-url) – Wain

回答

0

你并不需要使用willSave,这取决于你想要做什么......

可以使用success块,通过mappingResult提供的结果迭代,进行更改,然后将主线程MOC保存到持久性存储中。

willSaveNSManagedObject上的方法。所以,你可以在托管对象的子类上实现它。这将导致更改被保存为映射过程的一部分,但它仅对派生值/时间戳记非常有用。

+0

我有两个从服务器下载的对象数组,我想使它们之间的关系,[首先,第二],所以当首先消费并将其插入数据库时​​,我想插入第二个时告诉他首先指向对象,所以我可以得到所有第二个涉及到第一个 – mohamed

+0

它们有什么关系?你能配置映射吗? – Wain

+0

问题是我让他们每个人彼此分开,类别和产品,,我请求类别从一个Web服务,然后我请求产品使用categoryId从另一个Web服务,,但我想链接他们在数据库,所以我可以选择特定类别的所有产品 – mohamed