title: Adding operations in NSOperationQueue
body: <p>I am starting out on NSOperationQueue in iOS and facing some basic issues which I would like to clarify.</p>
  
  <p>This is the code I am using:</p>
  
  <pre><code>-(void) SendRequestWithURL:(NSString*) URL andParam:(id) attributes {
  
      [[AFNetworkActivityIndicatorManager sharedManager] incrementActivityCount];
      _m_singleton = [Singleton sharedSingleton];
      _parser = [[Syncparser alloc]init];
      NSString *strServURL  = [NSString stringWithFormat:@"%@%@",_m_singleton.globalstrURLLink,URL];
      if (_theService == Item0 || _theService == Item1 || _theService == Item2){
          NSLog(@"Entrance _theService  %i", _theService);
  
      AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:strServURL]];
      [client postPath:@"POST" parameters:attributes
               success:^(AFHTTPRequestOperation *operation, id responseObject) {
                   NSLog(@"_theService  %i", _theService);
                   switch (_theService) {
                       case Item0: {
                           [_m_singleton.globalQueue addOperationWithBlock:^{
                               NSLog(@"ParseItem0  %@", [operation responseString]);
                               [_parser ParseItem0:[operation responseString]];
                           }];
                       }
                           break;
                       case Item1:{
                           [_m_singleton.globalQueue addOperationWithBlock:^{
                               NSLog(@"ParseItem1  %@", [operation responseString]);
                               [_parser ParseItem1:[operation responseString]];
                           }];
                       }
                           break;
                       case Item2:{
                           [_m_singleton.globalQueue addOperationWithBlock:^{
                               NSLog(@"ParseItem2  %@", [operation responseString]);
                               [_parser ParseItem2:[operation responseString]];
                           }];
                       }
                           break;
                       } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
      }
  }
  </code></pre>
  
  <p>I only called item1 and item2.These are the values I get in the debugger.</p>
  
  <pre><code>Entrance _theService  1
  Entrance _theService  2
  _theService  2
  _theService  1
  </code></pre>
  
  <p>This clearly means that the item2 gets added to the queue first and followed by item1.</p>
  
  <p>But surprisingly, ParseItem1 gets called before ParseItem2 everytime. Even if _theService  1 comes before _theService  2.  Not sure why. Sorry for the noob question.</p>
  
  <p>Need some guidance.</p>