Tôi có chức năng kết nối với internet và sau đó làm mới các ô trong bảng.Tải lại UITableViewData chậm
chức năng của tôi là:
- (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];
}];
}];
}
Tất cả mọi thứ là siêu nhanh chóng TRỪ cho [homeTable reloadData]. Khi tôi nhận xét điều đó, tôi có phản ứng nhanh. Khi tôi bỏ ghi chú, phản ứng di động của tôi bị trễ đôi khi vài giây!
Tải lại khác của tôiData gọi không làm chậm ứng dụng của tôi. Tôi có đang triển khai NSOperationQueue đúng không?
bạn có thể thử tải lại chỉ các ô hiển thị không? Nếu nguồn dữ liệu của bạn đã được cập nhật trước khi người dùng cuộn xuống, thì nó có thể nhanh hơn tức là một cái gì đó như [homeTable reloadRowsAtIndexPaths: [homeTable indexPathsForVisibleRows]] – Max
Hiển thị các phương thức ủy nhiệm xem bảng. 'GetColumnDataBackground' làm gì? Làm thế nào để bạn biết nó đang gây ra một 'chậm trễ'? – Wain