title: UITableView methods are called before ViewDidLoad
body: <p>I'm trying to create a simple weather app which gets data from OpenweatherMap using JSON and print them out in a UITableView. However, when I executed this code below and set a breakpoint at <code>numberOfRowsInSection</code> method, it returns 0 row. Somehow the <code>viewDidLoad</code> method was called after the <code>numberOfRowsInSection</code> method, that's why the threeHoursForecast array is empty. Can anyone help me on this please?</p>
  
  <pre><code>static NSString * const BaseURLString = @"http://api.openweathermap.org/data/2.5/forecast?q=Houston";
  
  @interface HPViewController ()
  
  @end
  
  @implementation HPViewController
  
  - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
  {
      self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
      if (self) {
          // Custom initialization
      }
      return self;
  }
  
  - (void)viewDidLoad
  {
      [super viewDidLoad];
  
      self.threeHoursForecast = [[NSMutableArray alloc] init];
      self.tableView.dataSource = self;
      self.tableView.delegate = self;
  
      AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
  
      [manager POST:BaseURLString parameters:nil
            success:^(AFHTTPRequestOperation *operation, id responseObject) {
  
                NSArray *data = [responseObject objectForKey:@"list"];
  
                for (NSDictionary *forecastPerThreeHours in data)
                    [self.threeHoursForecast addObject:[[forecastPerThreeHours valueForKey:@"main"] valueForKey:@"temp"]];
            }
  
            failure:^(AFHTTPRequestOperation *operation, NSError *error) {
  
                NSLog(@"Error: %@", error);
            }];
  
  }
  
  - (void)didReceiveMemoryWarning
  {
      [super didReceiveMemoryWarning];
      // Dispose of any resources that can be recreated.
  }
  
  - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  {
      // Return the number of sections.
      return 1;
  }
  
  - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  {
      // Return the number of rows in the section.
      return [self.threeHoursForecast count];
  }
  </code></pre>