0

私はtodoアプリを構築しています。

iOS 5 で導入された新しいストーリーボード オプションを使用しています。

VC がキャッシュされておらず、アプリでパフォーマンスの問題が発生していることに気付きました。

私のアプリの VC の 1 つは「タスクの詳細」というタイトルで、広く使用されています。viewDidLoad: は、画面が表示されるたびに呼び出され、約 1 秒かかります (コードで構築されたかなり複雑な画面です)。

最初はセグエを使用して、この画面に他の画面を接続しました。必要なときはいつでも使用します:

 [self performSegueWithIdentifier:@"showTaskDetails" sender:self];

私はそれのモデルを準備します:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;

その後、パフォーマンスの問題に気付きました。調査したところ、viewDidLoad が何度も読み込まれていることがわかりました。セグエの使用を停止し、TaskDetailsViewController をキャッシュして、モーダルとして手動で追加する必要がありました。ストーリーボードで「人気のある」VC をキャッシュするための解決策があるのだろうか。そうでなければ、機能するがエレガントではない半分半分のソリューションを手に入れることになります-そして、エレガントさは私たちの職業において重要ですよね?;-)

4

1 に答える 1

0

UIStoryboard はキャッシュ メカニズムを提供しません。ビューコントローラーを自分でキャッシュする必要があります。

特定のView Controllerが基づいているデータをキャッシュして、読み込み時間を短縮できます。

于 2012-11-30T08:07:07.040 に答える