2011-01-05 3 views
2

リストの一番下までスクロールすると、さらに多くの行が自動的に読み込まれるUITableViewを作成しようとしています。これは、通常、iPhone向けAmazonアプリケーションの検索機能に似ています。一度に約20行を読み込み、最初の20の最後までスクロールすると、次の20が自動的に読み込まれます。ロードされると、メモリに残ります。私は、最後の行がApp Storeアプリケーションのように「もっと多くのアイテムをロードする」と言うオプションを検討していません。AmazonのアプリのようにUITableViewでより多くのセルを読み込むようにスクロールする

これは私が達成しようとしているものです:私の現在のアプリケーションスレッドは、UITableViewをロードするのに約8-15秒かかっています(リストの0-50項目のどこでも)。たった1行でも約8秒かかります。私はこのプロセスをもっと速くしたいと思っています。私の画面は、最大7行を表示することができますので、私はこのロードを一度に8-10​​行にして、これを達成することができたら3-4秒後にユーザーが全部スクロールして項目を読み込むことができます。したがって、テーブルの最初の読み込みは、今の2倍の速さに見えます。

私はTweetie2アプリのように "Pull to Refresh"を見ていて、githubのThree20コードも見ていますが、これをAmazonアプリケーションのように実装する方法はあまりわかりません。

主な焦点は、ユーザーの入力を増やすことなく、読み込みを高速化する方法です。

ご協力いただければ幸いです。あなたが最後のセルのインデックスの知識を維持する場合は、ロードされている、あなたはそのセルにスクロールに近づく場合は、ロードする非同期要求を開始する

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 

答えて

18

あなたはUITableViewDelegateメソッドを使用することを検討して持っていますより多くの行。

+0

Shiunさん、ありがとうございました。 – Anand

+1

Anandの場合、この回答に「受け入れ済み」とマークする必要があります。 – Stavash

+0

@Shiunさらに多くの行をロードする非同期要求を完了したらどうしますか?私は、TableViewをリロードすることによって引き起こされるフリッカーの問題を防ぎたい。 – Alan

関連する問題