2

私は、データを取得してUIViewControllerを作成するために正常に動作するNSOperationQueueがあるiOS 5アプリを使用しています。ただし、すべての操作が完了したように見える時点で、アプリが長時間応答しなくなります。手順は次のとおりです。

  1. DBからデータを取得する
  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 に答える