为什么RestKit 0.20 RKMappingResult的字段带有“_”标记?

时间:2013-11-22 02:19:15

标签: restkit restkit-0.20

我对Restkit 0.20有一个奇怪的回应:

来自我服务器的回复:

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Date: Fri, 22 Nov 2013 01:55:20 GMT
Content-Type: application/json
Transfer-Encoding: chunked

17
{"returnedParam1":1000}
0

响应类:

@interface RSReturnModel : NSObject

@property(assign,nonatomic) NSString *param1;
@property(assign,nonatomic) NSString *param2;
@property(assign,nonatomic) NSString *param3;
@end

ResponseMapping和RKRequest

 RKObjectMapping *returnedObjectMapping = [RKObjectMapping mappingForClass:[RSReturnModel class]];
    [returnedObjectMapping addAttributeMappingsFromDictionary:@{
     @"returnedParam1" : @"param1",
     @"returnedParam2" : @"param2"
     }];
   RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:returnedObjectMapping pathPattern:nil keyPath:nil statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];

成功块中的MappingResult:

RSReturnModel *res = [mappingResult firstObject];
  res   RSReturnModel * 0x094ded70
     NSObject   NSObject    
        _param1 NSString *  0x43000002
        _param2 NSString *  0x00000000
        _param3 NSString *  0x000398e0

因此,任何解析器的错误,但RSResultModel的字段为“_param1”

1 个答案:

答案 0 :(得分:0)

假设您使用了自动属性合成(即,您没有明确使用@synthesize),_param1param1属性的实例变量名称。因此,日志只是显示实际的“内存”名称,而不是您熟悉的属性名称。

您的RestKit配置或结果似乎没有任何问题。