2009-06-15 4 views
0

現在、Webサービス経由でテーブルにデータを読み込むiPhoneアプリケーションを開発中です。今すぐデータをロードし、2つの別々のスレッドで[tableView cellForRowAtIndexPath]経由でセルを作成/表示しています。私の問題は、セルを作成するためにデータが必要なことです。Objecive C/CocoaのスレッディングによるデータとUIの読み込み

現在、私は1つのスレッドでデータを配列にロードし、完了するまで別のスレッドでセル作成部分をロックします。完了したらメインスレッドに戻り、セル作成部分のロックを解除して続行します。

これは実際にプロセス全体を遅くします。私はこのプロセスをスピードアップできるようにデザインを見つけようとしています。助けてもらえますか?

すべての返信ありがとうございます。

答えて

0

セルの作成を「ロックする」と「ロックを解除する」という正確な意味はありますか?

通常、私は従うデザインはこれです -

ビューが表示されたときに、細胞をロードしてみましょう。 NSThreadを開始してデータを取得します(viewDidLoadまたはviewWillAppearで)。バックグラウンドスレッドがデータを取得するまで、アクティビティインジケータを表示します。

バックグラウンドスレッドがデータと共に戻ったら、メインスレッドに戻り、テーブルをリロードして(セルを再度描画します)、アクティビティインジケータを非表示にします。

関連する問題