title: Does AFNetworking automatically perform actions on a background thread?
body: <p>Does anyone know if AFNetworking's calls automatically dispatch to a background thread?</p>
  
  <p>For example, here's what I have...</p>
  
  <p>ServerAccessLayer.m</p>
  
  <pre><code>- (void)fetchWithurlString:(NSString *)urlString andCompletion:(APIResponseObjectBlock)completion
  {
      [[WebClient sharedClient] fetchDictionaryWithURLString:urlString success:^(AFHTTPRequestOperation *operation, id responseObject) {
          if (completion) {
              dispatch_async(dispatch_get_main_queue(), ^{
                  completion(YES, responseObject, operation.response.statusCode, nil, nil);
              });
          }
      } failure:^(AFHTTPRequestOperation *operation, NSError *error, NSInteger statusCode, id responseObject) {
          if (completion) {
              NSArray *messages = [self generateResponseArray:responseObject withDataType:MESSAGE];
              NSArray *errors = [self generateResponseArray:responseObject withDataType:ERROR];
              dispatch_async(dispatch_get_main_queue(), ^{
                  completion(NO, responseObject, statusCode, messages, errors);
              });
          }
      }];
  }
  </code></pre>
  
  <p>WebClient.m</p>
  
  <pre><code>- (void)fetchDictionaryWithURLString:(NSString *)urlString success:(void (^)(AFHTTPRequestOperation *, id))success failure:(void (^)(AFHTTPRequestOperation *, NSError *, NSInteger, id))failure
  {
      AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
      [manager GET:urlString parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
          success(operation, responseObject);
      } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
          failure(operation, error, ((NSHTTPURLResponse *)operation.response).statusCode, operation.responseObject);
      }];
  }
  </code></pre>
  
  <p>In ServerAccessLayer, I dispatch the completion code back on the main thread. When I wrote this code long ago, my assumption for some reason was that when using AFHTTPRequestOperationManager, it automatically dispatched on a background thread so I did not implement it. Now, I don't seem to be able to find any evidence of that, and I'm wondering if I am in fact not calling any of my networking calls on the background thread.</p>
  
  <p>Can someone verify for me if AFHTTPRequestOperationManager automatically does it's work on a background thread, or do I need to be handling this myself?</p>