If I have a UITableView that has 4 rows in it then shouldn\'t the cellForRowAtIndexPath method be called 4 times when I navigate to that view? I am finding that it is being
Highly probable that you are calling from other methods :
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
self.tableView from outside of - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
will call cellForRowAtIndexPath twice.