インターネットに接続してテーブルのセルをリフレッシュする機能があります。UITableView reloadDataが遅い
My機能は次のとおりです。
- (void) updateMethod
{
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
queue.name = @"Data request queue";
[queue addOperationWithBlock:^{
//neither of these delay the responsiveness of the table
[columnArrayBackground removeAllObjects];
[self getColumnDataBackground];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
for (int i=0; i < 6; i++) {
columnArray[i] = columnArrayBackground[i];
};
//THIS ONE LINE CAUSES DELAYS
[homeTable reloadData];
}];
}];
}
すべてが[homeTable reloadData]を除き、スーパースピーディーです。私がコメントしたとき、私は素早い対応をしています。それをコメント解除すると、私のセル応答が時々遅れることがあります。
私の他のreloadData呼び出しは私のアプリケーションを遅らせることはありません。 NSOperationQueueを正しく実装していませんか?
表示されているセルのみをリロードすることはできますか?ユーザーがスクロールダウンする前にデータソースが更新されている場合は、[homeTable reloadRowsAtIndexPaths:[homeTable indexPathsForVisibleRows]] – Max
のように高速になります。テーブルビューの委任方法を表示します。 'getColumnDataBackground'は何をするのですか?それが「遅延」を引き起こしていることをどのように知っていますか? – Wain