2

我一直在使用一个 iOS 5 应用程序,其中我有一个 NSOperationQueue,它可以很好地获取一些数据并创建一个 UIViewController。但是,在每个操作似乎都完成的时候,应用程序在很长一段时间内都没有响应。事情是这样的:

  1. 从数据库中获取一些数据
  2. 队列 - 为每个项目初始化一个自定义 UIViewController 对象。
  3. 将每个 UIViewController 对象交给 MainViewController 并显示它们。

一切都很好,直到 UIVC 对象必须出现。它超越了所有 [[self view] addSubview:object.view]; 并到函数结束。但是在 UIVC 对象的 viewDidApear 中的 NSLog 语句出现之前,有一个巨大的延迟,从 5 到 30 秒......

所以在代码中:

//MainViewController
-(void)displayNewView {
  [[self view] addSubview:object.view];
  NSLog(@"Done setup");
}

//-- Long unresponsiveness --//

//UIVC object
-(void)viewDidAppear:(BOOL)animated {
  NSLog(@"Start appear");
  [super viewDidAppear:animated];
}

这可能是什么原因造成的?我错过了一些明显的东西吗?

谢谢您的帮助!

4

1 回答 1

0

似乎是每个 UIViewController 的复杂性延迟了整个过程。

对我来说,它们看起来很简单,但我猜 iPhone 不喜欢一次创建 10 个视图,其中包含多个按钮、标签和图像。简化笔尖并确保只分配和初始化使用的东西有很大帮助..但它仍然不是很流畅。

于 2012-10-03T21:33:06.283 回答