在名为UIViewController
的{{1}}中,我引用了另一个名为MainViewController
的{{1}}。它的定义如下:
UIViewController
在我SubViewController
的{{1}}方法中,我按如下方式初始化@class SubViewController;
@interface MainViewController : UIViewController <UIScrollViewDelegate> {
SubViewController * _subViewController;
}
:
initWithNibName:bundle:
MainViewController
的{{1}}方法会被调用,并且所有内容似乎都已加载,但是当我将SubViewController
添加为子视图时:
#pragma mark - Init
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil; {
if((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])){
_subViewController = [[SubViewController alloc] initWithNibName:@"SubViewController" bundle:nil[;
// Forces the view to load, in an attempt to speed up the adding of the subview.
UIView * view = _subViewController.view;
view.alpha = 1.0f;
}
return self;
}
应用程序减慢了几秒钟,然后添加了子视图,一切都很好。奇怪的是,当我删除子视图并尝试重新添加它时, 没有延迟 !
我认为问题是加载问题,但我找不到任何关于如何解决这个问题的文档。
任何人都可以解释造成这种减速的原因吗?谢谢!
答案 0 :(得分:0)
你的代码不完整!!
我尝试接受你的代码并制作新的项目-ARC-并且对我毫不拖延 尝试使用仪器来发现最新情况
答案 1 :(得分:0)
我从来没有这样的问题。因为你说如果你不加载第二个视图它会更快。检查viewWillAppear和viewDidAppear中的secondViewController是什么