初學AFNetWorking筆記

1、2大管理對象
1.AFHTTPRequestOperationManager
* 對NSURLConnection的封裝

2.AFHTTPSessionManager
* 對NSURLSession的封裝

2、AFHTTPRequestOperationManager的具體使用
1.建立管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

2.封裝請求參數
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"username"] = @"哈哈哈";
params[@"pwd"] = @"123";

3.發送請求
NSString *url = @"http://localhost:8080/MJServer/login";
[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(@"請求失敗");
  }];

3、對服務器返回數據的解析
1.AFN能夠自動對服務器返回的數據進行解析
* 默認將服務器返回的數據當作JSON來解析

2.設置對服務器返回數據的解析方式
1> 當作是JSON來解析(默認作法)
* mgr.responseSerializer = [AFJSONResponseSerializer serializer];
* responseObject的類型是NSDictionary或者NSArray

2> 當作是XML來解析
* mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];
* responseObject的類型是NSXMLParser

3> 直接返回data
* 意思是:告訴AFN不要去解析服務器返回的數據,保持原來的data便可
* mgr.responseSerializer = [AFHTTPResponseSerializer serializer];

3.注意
* 服務器返回的數據必定要跟responseSerializer對得上
1> 服務器返回的是JSON數據
* AFJSONResponseSerializer
* AFHTTPResponseSerializer

2> 服務器返回的是XML數據
* AFXMLParserResponseSerializer
* AFHTTPResponseSerializer

3> 服務器返回的是其餘數據
* AFHTTPResponseSerializer

服務器

相關文章
相關標籤/搜索