iPhone开发——AFN使用总结

来源:互联网 发布:mox反应堆 知乎 编辑:程序博客网 时间:2024/04/30 06:43

<pre name="code" class="objc">一、2大管理对象1.AFHTTPRequestOperationManager* 对NSURLConnection的封装2.AFHTTPSessionManager* 对NSURLSession的封装二、AFHTTPRequestOperationManager的具体使用1.创建管理者AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];2.封装请求参数NSMutableDictionary *params = [NSMutableDictionary dictionary];params[@"username"] = @"哈哈哈";params[@"pwd"] = @"123";3.发送请求NSString *url = @"https://www.baidu.com/";[mgr POST:url parameters:params  success:^(AFHTTPRequestOperation *operation, id responseObject) {      // 请求成功的时候调用这个block      NSLog(@"请求成功---%@", responseObject);  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {      // 请求失败的时候调用调用这个block      NSLog(@"请求失败");  }];// GET请求[mgr GET:url parameters:params  success:^(AFHTTPRequestOperation *operation, id responseObject) {      // 请求成功的时候调用这个block      NSLog(@"请求成功---%@", responseObject);  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {      // 请求失败的时候调用调用这个block      NSLog(@"请求失败");  }];三、对服务器返回数据的解析1.AFN可以自动对服务器返回的数据进行解析* 默认将服务器返回的数据当做JSON来解析2.设置对服务器返回数据的解析方式1> 当做是JSON来解析(默认做法)* mgr.responseSerializer = [AFJSONResponseSerializer serializer];* responseObject的类型是NSDictionary或者NSArray2> 当做是XML来解析* mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];* responseObject的类型是NSXMLParser3> 直接返回data* 意思是:告诉AFN不要去解析服务器返回的数据,保持原来的data即可* mgr.responseSerializer = [AFHTTPResponseSerializer serializer];3.注意* 服务器返回的数据一定要跟responseSerializer对得上1> 服务器返回的是JSON数据* AFJSONResponseSerializer* AFHTTPResponseSerializer2> 服务器返回的是XML数据* AFXMLParserResponseSerializer* AFHTTPResponseSerializer3> 服务器返回的是其他数据* AFHTTPResponseSerializer


0 0
原创粉丝点击