Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在RestKit0.20.3中获得基于对象的响应_Ios_Restkit - Fatal编程技术网

Ios 如何在RestKit0.20.3中获得基于对象的响应

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

Hi在我以前的几个项目中使用了0.10.0版的restkit。但现在我将使用新的restkit v0.20.3

我遵循了从10.0升级到20.0的所有步骤

我能够执行我的请求,并在成功博客下回复。但是我可以得到响应对象的属性。现在这是非常令人震惊的。我只能通过
[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中得到的基于对象的响应相同,所以这是执行请求的方法