Khi sử dụng - (void)beginUpdates
và - (void)endUpdates
trên UITableView, bạn có phải thực hiện thay đổi đối với nguồn dữ liệu bên trong cuộc gọi không?UITableView bắt đầu/kết thúc cập nhật
tức
Nếu tôi có một NSMutableArray
gọi dataSource
lái xe của tôi tableView
tôi có thể làm điều này ...
// edit the actual data first
[dataSource addObject:@"Blah"];
// now update the table
[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:dataSource.count - 1 inSection:0] withRowAnimation:UITableViewRowAnimationAutomatic];
[self.tableView endUpdates];
Hoặc là nó cần thiết để làm ...
[self.tableView beginUpdates];
[dataSource addObject:@"Blah"];
[self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:dataSource.count - 1 inSection:0] withRowAnimation:UITableViewRowAnimationAutomatic];
[self.tableView endUpdates];
Just hỏi vì tôi có một vài nơi mà tôi đang cập nhật và tôi có khả năng có thể lấy mã chung ra một hàm.
Nhưng chỉ khi tôi có thể cập nhật bên ngoài cuộc gọi cập nhật.
nơi tôi nên thêm các dòng mã này trong chế độ xem? hoặc cellforrowatindexpath? hoặc bất kỳ phương pháp nào khác? –
Điều này rất quan trọng "bạn phải đảm bảo rằng bạn đang cập nhật nguồn dữ liệu trong cùng một chuỗi" – Siyavash
@Siyavash làm cách nào tôi có thể làm điều đó? tôi có vài đại biểu cập nhật nguồn dữ liệu, cách đảm bảo rằng im cập nhật chúng trong cùng một chuỗi. – titan