Core data RESKIt:没有响应描述符

Core data RESKIt:没有响应描述符,core-data,restkit,restkit-0.20,Core Data,Restkit,Restkit 0.20,我正在使用下面的代码发布managedObject。从服务器上,我没有得到任何东西,除了200,所以没有响应对象的映射 [self.objectManager postObject:invitation path:@"/path" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { NSLog(@"success"); } failu

我正在使用下面的代码发布managedObject。从服务器上,我没有得到任何东西,除了200,所以没有响应对象的映射

[self.objectManager postObject:invitation path:@"/path" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
        NSLog(@"success");
    } failure:^(RKObjectRequestOperation *operation, NSError *error) {
        NSLog(@"Failure");
    }]; 
RKResponseDescriptor有虚拟格式吗

RKResponseDescriptor *responseDescriptor = nil;  //causes a crash

没有“dummy”
RKResponseDescriptor
实例,您必须明确定义希望RestKit对响应数据执行的操作

您的响应描述符可以是局部的,所以它只映射一个字段来证明事情是正常的

或者,您可以使用动态映射来读取传入数据中的键,并创建到
NSMutableDictionary
的映射,其中包括所有键

这两种方法只对测试有用,但可能对您有所帮助

如果响应实际上没有正文数据,并且您只想监视是否成功,那么您可以改用AFNetworking,或者创建映射到
NSMutableDictionary
且没有键的响应描述符。RestKit应该能够接收到这些信息,并且它应该作为一个“虚拟”来满足您的需要。它将创建一个从未使用过的dictionary实例,但您可以忽略它



谢谢如果返回的唯一内容是200,我如何映射到它?哦,我明白了,没有响应体数据-那么你不应该使用RestKit。您应该直接使用AFNetworking(这就是RestKit在引擎盖下使用的功能)。嗯,在我的大多数通话中,我都会收到响应数据。但在这种情况下,我不是。如何使用AFNetworking发布上面的代码块?AFNetworking提供了一种非常类似的post方法,但是您需要让RestKit为您进行序列化。最好使用映射到
NSMutableDictionary
且不带键的响应描述符。RestKit将接收到这些信息,它将作为一个“虚拟”用于您的目的。它将创建一个dictionary实例,但您可以忽略它。。。
RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[NSMutableDictionary class]];

RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:mapping
                                                                                        method:RKRequestMethodPOST
                                                                                   pathPattern:@"/path"
                                                                                       keyPath:nil
                                                                                   statusCodes:[self statusCodeSuccess]];