Ios 如何在RestKit0.20.3中获得基于对象的响应
Hi在我以前的几个项目中使用了0.10.0版的restkit。但现在我将使用新的restkit v0.20.3 我遵循了从10.0升级到20.0的所有步骤 我能够执行我的请求,并在成功博客下回复。但是我可以得到响应对象的属性。现在这是非常令人震惊的。我只能通过Ios 如何在RestKit0.20.3中获得基于对象的响应,ios,restkit,Ios,Restkit,Hi在我以前的几个项目中使用了0.10.0版的restkit。但现在我将使用新的restkit v0.20.3 我遵循了从10.0升级到20.0的所有步骤 我能够执行我的请求,并在成功博客下回复。但是我可以得到响应对象的属性。现在这是非常令人震惊的。我只能通过[data valueForKey:@”“]获得值,我想这在restkit中是不好的 谁能告诉我我们是如何从对象的属性中获得价值的 [operation setCompletionBlockWithSuccess:^(RKObjectReq
[data valueForKey:@”“]
获得值,我想这在restkit中是不好的
谁能告诉我我们是如何从对象的属性中获得价值的
[operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
NSLog(@"%lu", (unsigned long)mappingResult.array.count);
DataForResponse *data = [mappingResult.array objectAtIndex:0];
User *user = [data valueForKey:@"user"];
User *user = [[data.user allObjects] firstObject];
NSLog(@"%@",[user valueForKey:@"email"]);
RKLogInfo(@"Load collection of Users: %@", mappingResult.array);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"%@",operation.HTTPRequestOperation.responseString);
RKLogError(@"Operation failed with error: %@", error);
}];
我的目标是从
用户那里获得电子邮件的价值。在搜索之后,根据我的restkit知识,下面的代码是有效的
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:[DataForResponse objectMappingForDataResponse:LOGIN] method:RKRequestMethodPOST pathPattern:nil keyPath:@"data" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[rkomForLogin addResponseDescriptor:responseDescriptor];
RKObjectRequestOperation *operation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[ responseDescriptor ]];
operation.targetObject = data;
[rkomForLogin postObject:nil path:@"login" parameters:dict success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
// Handled with articleDescriptor
NSLog(@"%@",operation.HTTPRequestOperation.responseString);
DataForResponse *data = [mappingResult.array objectAtIndex:0];
User *user = [[data.user allObjects] firstObject];
NSLog(@"%@",[user email]);
NSLog(@"%ld",operation.HTTPRequestOperation.response.statusCode);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
// Transport error or server error handled by errorDescriptor
NSLog(@"%@",operation.HTTPRequestOperation.responseString);
RKLogError(@"Operation failed with error: %@", error);
}];
这和我在RestKit0.10中得到的基于对象的响应相同,所以这是执行请求的方法