iOS网络编程 - 6

来源:互联网 发布:ug软件下载 编辑:程序博客网 时间:2024/05/01 15:50

前面讲的都是低版本的AFNetworking的一个从封装请求类(封装基类和默认设置),到解析返回的数据

再到如何根据业务封装一个调用请求的Manager类


我们这里开始AFNetworking2.0的使用,看看发生了什么变化,不变的部分我就略过了,直接贴上变化的部分

可以参考:

http://my.oschina.net/hehongbo/blog/539952?fromerr=9JszuPEo


- (void)requestBaseURLWithSuccess:(void (^)(NSString *, NSString *))successAction failure:(void (^)(NSInteger, NSString *))failureAction{    NSMutableDictionary *params = [self commonParamsDictionay];        // you can add other params ...        AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];    manager.responseSerializer = [AFHTTPResponseSerializer serializer];        [manager POST:REQUEST_URL parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {                LBResponseParser *parser = [LBResponseParser shareResponseManager];        [parser parseResponseObject:responseObject];                if (parser.statusCode == 0) {                        NSLog(@"post 服务器失败.");        }                NSLog(@"respose data :%@", parser.dataDic);                NSString *dev = [parser.dataDic objectForKey:@"dev"];        NSString *de  = [parser.dataDic  objectForKey:@"de"];                successAction(dev, de);            } failure:^(AFHTTPRequestOperation *operation, NSError *error) {                failureAction(101, @"网络连接超时");            }];   }

变化的最大部分就是我们不再需要封装基类方法:AFHTTPClient,因为AFNetworking2.0已经将它废弃

使用上非常便捷



不过我最想说的一点是,使用的思想,封装的设计思想都是大体相同的!!

0 0
原创粉丝点击