我试图了解如何最小化我的视图控制器之间的转换时间。
出于某种原因,段切换到我的一个控制器需要1204.0毫秒。
在仪器中它告诉我这个方法花了964.0毫秒。
- (void)goToNextContentViewController
{
self.index = [NSNumber numberWithInt:1];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MusicPlayerQueue" bundle:nil];
SABaseContentViewController *queueViewController = [storyboard instantiateViewControllerWithIdentifier:@"Queue"];
queueViewController.rootViewController = self;
[self.pageViewController setViewControllers:@[queueViewController]
direction:UIPageViewControllerNavigationDirectionForward
animated:YES
completion:^(BOOL finished) {
}];
}
特别是当我选择分段控件时。
- (IBAction)segmentSwitch:(UISegmentedControl *)sender
{
UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;
if (selectedSegment == 0) {
[self goToPreviousContentViewController];
}
else{
[self goToNextContentViewController];
}
}
我正在推送一个tableViewController,它正在加载我从单例填充的数据。任何想法为什么会这样?我的其他段选项卡使用相同的方法以更快的速度加载视图控制器。
最奇怪的是,视图加载速度非常快,仅当我正在推送的控制器中的tableView填充了SingletonArray中的3个或更少的对象时。如果数组为3或更大,它将以1000 + ms的速度加载....
这是我的viewDidLoad
- (void)viewDidLoad {
[super viewDidLoad];
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self.tableView setEditing:YES];
self.editSelected = NO;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(itemDidFinishPlaying:) name:@"songEnded" object:nil];
}