在使用 loadObjectsAtResourcePath:delegate: 进行 GET 时,我能够获取所有必需的 RKObjectLoaderDelegate 方法。
但是,当我使用 post:params:delegate: 进行 POST 时,只会调用 request:didLoadResponse:。甚至诸如 objectLoader:didLoadObjects: 和 objectLoader:didFailWithError: 之类的方法也不会被调用。
这是代码片段。
self.appObjectManager.client = [RKObjectManager managerWithBaseURLString:self.webServiceURLString];
[self.appObjectManager.client setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[self.appObjectManager.client setValue:@"" forHTTPHeaderField:@"Cookie"];
RKObjectMapping* sessionInformationMapping = [RKObjectMapping mappingForClass:[sessionInformation class]];
[sessionInformationMapping mapKeyPath:@"uid" toAttribute:@"userID"];
[self.appObjectManager.mappingProvider setObjectMapping:sessionInformationMapping forKeyPath:@"user"];
NSMutableDictionary *parameters = [NSMutableDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"abc", @"pwd", nil]
forKeys:[NSArray arrayWithObjects:@"username", @"password", nil]];
[self.appObjectManager.client post:resourcePath params:parameters delegate:self];
我在这里发现了一个类似的问题,但它似乎对我没有帮助。 RestKit:postObject 调用了什么委托方法?