AFnetworkingのよくある質問

1428 ワード

くだらないことはあまり言わないで、直接問題に行きます:1.リクエストヘッダをどのように接続しますか?
//        json  
  
  manager.responseSerializer = [AFJSONResponseSerializer serializer];
  
  //        json  
  
  manager.requestSerializer=[AFJSONRequestSerializer serializer];
  
  //  /               text/html   
  
  [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
  [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
  [manager.requestSerializer setValue:value forHTTPHeaderField:key];
  [manager.requestSerializer setValue: value forHTTPHeaderField:key];
  [manager.requestSerializer setValue: value forHTTPHeaderField:key];
  


2.呼び出した同じメソッドでパラメータを返すにはどうすればいいですか?
block、パラメータはblockを持って実現します
__block NSString *longitude; // __block,    
[self.manager POST:URL parameters:params success:^(NSURLSessionDataTask * _Nonnull task, id  _Nonnull responseObject) {
  
  NSDictionary *locDictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];
  longitude = [locDictionary objectForKey:@"lon"]; //      
  
  if (finishBlock)
  {
    finishBlock(longitude, nil);
  }
  
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  NSLog(@"%@", error);
  if (finishBlock)
  {
    finishBlock(nil, error);
  }
}];