title: Showing loading animation while pulling json with afnetworking
body: <p>I am attempting to use MBProgressHUD to pop up a loading animation while the application loads more json data. Here is the code that I use to call the function with MBProgressHUD included. </p>
  
  <pre><code>- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
  float bottomEdge = scrollView.contentOffset.y + scrollView.frame.size.height;
  if (bottomEdge &gt;= scrollView.contentSize.height) {
      pageCounter++;
  
  
      [MBProgressHUD showHUDAddedTo:self.view animated:YES];
      dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 0.01 * NSEC_PER_SEC);
      dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
          // Do something...
          [self loadAdditionalJson];
          [MBProgressHUD hideHUDForView:self.view animated:YES];
      });
  
      }
  }
  </code></pre>
  
  <p>And here is the function that is called:</p>
  
  <pre><code>-(void)loadAdditionalJson
  </code></pre>
  
  <p>{</p>
  
  <pre><code>NSLog(@"%i", pageCounter);
  NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:
                                     @"http://ragetracks.com/?json=1&amp;count=50&amp;page=%i&amp;custom_fields=PostThumb&amp;include=title,content,attachments",
                                     pageCounter]];
  
  
  NSURLRequest *request = [NSURLRequest requestWithURL:url];
  AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
  
      for (int x = 0; x &lt; 50; x++) {
          //NSLog(@"%i", pageCounter*50 -50 + x);
          if ([JSON[@"posts"][x][@"attachments"] count] == 0)
          {
              NSString *temp = [NSURL URLWithString:@"nothing"];
              [imageUrls addObject:temp];
          }
          else
          {
              NSString *temp1;
              //temp1 = [NSString stringWithFormat:@"%@", JSON[@"posts"][x][@"id"]];
              //NSLog(temp1);
              NSURL *imageUrl =  [NSURL URLWithString:
                                  [NSString stringWithFormat:@"%@",
                                  JSON[@"posts"][x][@"attachments"][0][@"images"][@"medium"][@"url"]]];
             NSString *title = [NSString stringWithFormat:@"%@", JSON[@"posts"][x][@"title"]];
  
              NSString *label = [NSString stringWithFormat:@"%@", JSON[@"posts"][x][@"content"]];
  
              NSScanner *scanner = [NSScanner scannerWithString:label];
              [scanner scanUpToString:@"%2Ftracks%2F" intoString:nil];
              [scanner scanString:@"%2Ftracks%2F" intoString:nil];
              [scanner scanUpToString:@"&amp;" intoString:&amp;temp1];
  
              NSURL *temp2 = [NSURL URLWithString:[NSString stringWithFormat:@"https://api.soundcloud.com/tracks/%@.json?client_id=7622aa84a50c9f7609e2f7ed8bc85e81", temp1]];
  
              if (imageUrl) {
                  [imageUrls addObject:imageUrl];
              }
              else{
                  NSString *temp = [NSURL URLWithString:@"nothing"];
                  [imageUrls addObject:temp];
              }
              [titles addObject:title];
              [contentUrls addObject:temp2];
  
          }
      }
      [self.collectionView reloadData];
  
  } failure:nil];
  
  
      [operation start];
  }
  </code></pre>
  
  <p>The loading animation only appears and disappears too quickly and does not reflect how long it is taking for the application to load the new information. I understand that it has something to do with the main thread, but I am not sure exactly what to do. I have tried turning off <code>AFNetworkActivityIndicatorManager</code> but that does not seem to affect anything. Sleeping the system delays it, but then still does not reflect the loading time properly since after sleep, it comes back and finishes up the loading. </p>