在 RestKit 将其保存在核心数据中之前拦截成功的响应(可能的回调)
Posted
技术标签:
【中文标题】在 RestKit 将其保存在核心数据中之前拦截成功的响应(可能的回调)【英文标题】:Intercepting a successful response (possible callback) before RestKit saves it in core data 【发布时间】:2015-12-08 02:24:49 【问题描述】:[[RKObjectManager sharedManager] getObjectsAtPath:@"/mypath/objects" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult)
// Use objects that are returned.
failure:^(RKObjectRequestOperation *operation, NSError *error)
// Handle error
];
RestKit 的这个方法会执行请求、映射、保存到核心数据,并在保存后执行成功回调。我想知道的是在RestKit自动将其保存在核心数据中之前,我可以用来获取响应并执行回调的方法。我仍然希望能够使用 RestKit 的功能来进行映射和保存,但我想在它执行数据保存之前拦截或至少获得一个回调。
【问题讨论】:
做什么?最终目标是什么? 【参考方案1】:我找到了一种方法,方法是在映射开始之前实现 RKManagedObjectRequestOperation 的回调块,因为这将在成功的 HTTP 响应之后和自动保存到核心数据之前调用:
[managedObjectRequestOperation setWillMapDeserializedResponseBlock:^id(id deserializedResponseBody)
//do something
return deserializedResponseBody;
];
【讨论】:
以上是关于在 RestKit 将其保存在核心数据中之前拦截成功的响应(可能的回调)的主要内容,如果未能解决你的问题,请参考以下文章