背景:该应用程序的基本思想是以类似于 Snapchat 的方式向朋友发送内容。该应用程序已经可以运行,但现在我正在尝试一些性能改进。现在,在生成内容的屏幕上选择“下一步”按钮后,会出现延迟,因为被推送的视图控制器必须加载大约 30 个单元格的 UITableView。这是我之前加速过渡的尝试:
- (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];
}
当按下下一个按钮时:
- (void)gotoFriendsPage {
[self.navigationController pushViewController:self.selectFriendsViewController animated:YES];
}
我想要做什么: Snapchat 不知何故总是以零延迟预加载朋友的列表,如下所示:
http://i.stack.imgur.com/FPMI5.jpg
显然,他们使用 UIPageViewController 而不是 UINavigationController 来实现这种效果,但我的问题实际上是这些:
1.如果我将我的后备控制器从 UINavigationController 更改为 UIPageViewController,这种零延迟加载会是自动的吗?
2.有没有办法通过 UINavigationController 获得像这样的零延迟加载时间?
在此先感谢您的帮助!
编辑:请求我的表格视图 cellForRowAtIndexPathCode:
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;