5
我有一個連接到互聯網,然後刷新表中的單元格的功能。UITableView重載數據緩慢
我的功能是:
- (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