Restkit 简单使用

看到一位大神的代码,感觉就是:简介、精炼,自愧不如啊。

看到他使用了一个第三方库叫Restkit,感觉不错,有兴趣的朋友可以移步github。用途自己百度。


直接看代码

    
    RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[self class]];
    [mapping addAttributeMappingsFromDictionary:@{
                                                  @"missionDescription":   @"missionDescription",
                                                  @"createTime":@"createTime111"
                                                  }];
    
    NSIndexSet *statusCodes = RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful); // Anything in 2xx

    
    RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:mapping
                                                                                            method:RKRequestMethodAny
                                                                                       pathPattern:nil
                                                                                           keyPath:@"tasks"
                                                                                       statusCodes:statusCodes];
    
    
    NSURL *url = [NSURL URLWithString:@"http://10.0.1.222:8080/ulineserver/task/nearby?longitude=12&latitude=12"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    RKObjectRequestOperation *operation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[responseDescriptor]];
    [operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *result) {
        NSArray *arr=[result array];
        NSLog(@"The public timeline Tweets: %@", [result array]);
    } failure:nil];
    [operation start];

下面稍微说明一下

请求返回的数据格式是这样的 json:




响应码

 

简单说明一下:

1、

    [mapping addAttributeMappingsFromDictionary:@{

                                                  @"missionDescription":  @"missionDescription",

                                                  @"createTime":@"createTime111"

                                                  }];

也可以 用这个方法

[mapping addAttributeMappingsFromArray:@[@"missionDescription",@"createTime"]];


作用是一样的。上面可以对 属性名称修改。你可以把createTime 改为timer  

addAttributeMappingsFromArray则不可以,他里面的数组必须和[self class] 中的属性名称一样,否则会报错。



2、

    RKResponseDescriptor *responseDescriptor = [RKResponseDescriptorresponseDescriptorWithMapping:mapping

                                                                                           method:RKRequestMethodAny

                                                                                      pathPattern:nil

                                                                                          keyPath:@"tasks"

                                                                                      statusCodes:statusCodes];

keyPath 是根据json 第一层来决定的。

statusCodes不知道什么鬼,可以为nil





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值