0

私が使用しているほとんどの iOS アプリは非常に反応がよく、要素をタップするとすぐに次のビューに移動します。私のアプリでは、一部のビュー コントローラーの読み込みに 0.5 ~ 1.0 秒かかります。

私のコードはすべてviewDidLoadメソッド内にあり、それが問題だと確信していますが、インスタンス化するすべての要素が必要なので、何も移動できません。

私が考えた解決策は、 viewDidLoad で行うすべての作業をスレッドに移動し、呼び出す準備ができたらメインスレッドを呼び出すことaddSubviewです.UIKitがスレッドセーフでなくても機能しますか? それとも、私が見逃しているものがありますか?

4

3 に答える 3

1

viewDidLoadで正確に何をしていますか? ところで、ビューは必要なときにのみ読み込まれることを覚えておいてください。ビューをより速く切り替えたい場合は、表示するすべてのビュー コントローラーで -view を呼び出す初期化フェーズを作成することをお勧めします。または進行状況バー。ただし、これは集中的な読み込みタスクでのみ機能し、メモリを消費するタスクでは機能しないことに注意してください。
あなたの要求は非常に奇妙に聞こえるので、viewDidLoad が非常に遅い理由をよりよく説明しようとするほうがよいでしょう。何か問題がある可能性があります。

于 2012-06-04T04:21:59.650 に答える
1

viewDidLoad にあるコードを viewdidAppear に移動してみてください。ビューが表示されると、viewDidAppear が呼び出されます。大変な作業をしなければならない場合は、そこでそれを行い、その間にどこかでスピナーを見せてください。

于 2012-06-04T04:05:27.380 に答える
0

インターフェイスの設計の一環として、Xcode で UI 要素を定義します。そうすれば、Xcode はストーリーボードまたは xib ファイルを高速にロードするバイナリ形式にコンパイルできます。

于 2012-06-04T02:57:53.003 に答える