首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RestKit 0.20 -用keyPath映射

RestKit 0.20 -用keyPath映射
EN

Stack Overflow用户
提问于 2013-11-06 16:09:20
回答 1查看 698关注 0票数 1

这是我的反应机构:

代码语言:javascript
复制
{
  "bsqn": 5,
  "results": [
    {
      "sqn": 1,
      "res": "oldu!"
    }
  ]
}

我想通过使用这个keyPath:"bsqn.res“来获得我真正需要的"res”属性。

代码语言:javascript
复制
//TestResponse.h
@interface TestResponse : NSObject

@property (nonatomic, copy) NSString *res;

+ (RKObjectMapping *)objectMapping;

@end

// TestResponse.m
@implementation TestResponse

+ (RKObjectMapping *)objectMapping
{
    RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[self class]];
    [mapping addAttributeMappingsFromDictionary:@{@"res": @"res"}];

    return mapping;
}

@end


RKResponseDescriptor *newDesc = [RKResponseDescriptor responseDescriptorWithMapping:    
[TestResponse objectMapping] method:RKRequestMethodPOST pathPattern:nil keyPath:@"bsqn.res"     
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];

但是它给出了这样的错误:

代码语言:javascript
复制
this class is not key value coding-compliant for the key hashcode

有办法做我想做的事吗?谢谢..

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-06 16:14:39

在您的JSON中,bsqn.res不存在。bsqn只是一个字符串。

将响应描述符更改为keyPath:@"results",RestKit将将结果数组中的每个项映射到TestResponse的新实例中,并设置res属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19817004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档