title: How can I pre-load a UITableView before pushing its UIViewController?
body: <p><strong>Background:</strong> The basic idea of the idea of the app is sending content to friends in a manner similar to Snapchat. The app is already functional, but now I'm attempting some performance improvements. Right now, after selecting the "next" button on the screen where content is generated, there is a delay because the view controller that is being pushed has to load a UITableView of around 30 cells. This was my previous attempt to speed up the transition:</p>
  
  <pre><code>- (void)viewDidLoad
  {
       [super viewDidLoad];
       // Do any additional setup after loading the view from its nib.
       self.selectFriendsViewController = [[MPOSelectFriendsViewController alloc]
                                          initWithNibName:@"MPOSelectFriendsViewController"
                                          bundle:nil];
       [self.selectFriendsViewController awakeFromNib]; 
  }
  </code></pre>
  
  <p>When the next button is pressed:</p>
  
  <pre><code>- (void)gotoFriendsPage {
      [self.navigationController pushViewController:self.selectFriendsViewController animated:YES];
  }
  </code></pre>
  
  <p><strong>What I'm looking to do:</strong> Snapchat somehow has the friend's list preloaded at all times with zero delay as seen here:</p>
  
  <p><a href="http://i.stack.imgur.com/FPMI5.jpg" rel="nofollow">http://i.stack.imgur.com/FPMI5.jpg</a></p>
  
  <p>Obviously they're using a UIPageViewController instead of a UINavigationController for that kind of effect but my questions are really these:</p>
  
  <p><strong>1.</strong> If I change my backing controller from a UINavigationController to UIPageViewController, will this kind of zero delay loading be automatic?</p>
  
  <p><strong>2.</strong> Is there a way to get a zero delay load time like this with a UINavigationController?</p>
  
  <p>Thanks in advance for your help!</p>
  
  <p><strong>Edit:</strong> Request for my table view cellForRowAtIndexPathCode:</p>
  
  <pre><code> static NSString *cellIdentifier = @"FriendSelectionCell";
  
      MPOFriendSelectionCell *cell = (MPOFriendSelectionCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
  
      if (cell == nil) {
           cell = [[MPOFriendSelectionCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
       }
       MPOUser *friend = [self.friendManager.recentFriends objectAtIndex:indexPath.row];
  
       if(friend != (MPOUser *)[NSNull null]) {
           cell.currentFriend = friend;
           cell.friendLabel.text = friend.fullName;
       }
       return cell;
  </code></pre>