cellForRowAtIndexPath not called even when [objects count] in numberOfRowsInSection shows 46 objects
<p>About to pull my hair on this one. 
My tableview stopped loading the data all of a sudden. 
I have breakpoints in <code>numberOfRowsInSection</code> and <code>cellForRowAtIndexPath</code>. <code>numberOfRowsInSection</code> which goes like</p>

<pre><code>- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [objects count];
}
</code></pre>

<p>gets called thrice, for some reason, when the view initially loads with the number of objects in the <code>objects</code> array being 0 which can be understood because the tableview doesn't have any data initially. </p>

<p>After I fetch data from the server and store those objects in my <code>objects</code> array and call <code>[self.tableView reloadData];</code>, <code>numberOfRowsInSection</code> gets called again with the number of objects in <code>objects</code> array this time being 46 but it still doesn't go ahead and enter <code>cellForRowAtIndexPath</code> for some reason.</p>

<p>I have tried reloading the data on the main thread -</p>

<pre><code>dispatch_async(dispatch_get_main_queue(), ^{
    [self.tableView reloadData];
});
</code></pre>

<p>No use.</p>

<p>I have checked all my spellings. </p>

<p>Checked that my <code>UITableView</code> object is not nil when I am reloading the data. </p>

<p>The frame of the table view is 320.0000*568.0000 in <code>viewDidLoad</code>. </p>

<p>No idea what's going wrong. And I am assuming I broke something because the data was loading just fine earlier.        </p>