[[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的功能进行映射和保存,但我想在执行数据保存之前拦截或至少获得回调。
答案 0 :(得分:0)
我在映射开始之前通过实现RKManagedObjectRequestOperation的回调块找到了一种方法,因为这将在成功的HTTP响应之后和自动保存到核心数据之前调用:
[managedObjectRequestOperation setWillMapDeserializedResponseBlock:^id(id deserializedResponseBody) {
//do something
return deserializedResponseBody;
}];