Tôi cần biết khi tải lại UICollectionView đã hoàn thành để định cấu hình các ô sau đó (vì tôi không phải là nguồn dữ liệu cho các ô - khác khôn ngoan đã làm được rồi. mã ..)Tải lại UICollectionView bằng cách sử dụng phương thức reloadData trả về ngay trước khi tải lại dữ liệu
tôi đã thử như
[self.collectionView reloadData];
[self configure cells]; // BOOM! cells are nil
tôi cũng đã cố gắng sử dụng
[self.collectionView performBatchUpdates:^{
[self.collectionView reloadData];
} completion:^(BOOL finished) {
// notify that completed and do the configuration now
}];
nhưng khi tôi tải lại da ta đang bị treo.
Làm thế nào tôi có thể tải lại dữ liệu vào bộ sưu tập, và chỉ khi nó đã hoàn tất tải lại - làm một kết thúc xử lý đặc biệt
Tôi nghĩ rằng tôi đã gặp vấn đề về simmilar. Vấn đề là các ô được nạp trong khi layoutSubview diễn ra trong lần chạy vòng lặp tiếp theo. Thật không may tôi đã không tìm thấy giải pháp nào được nêu ra. Tôi tự hỏi tại sao UICollectionViewDelegate không có phương pháp như: - collectionView: willBeginDisplayingCell: forItemAtIndexPath: trong khi có: - collectionView: didEndDisplayingCell: forItemAtIndexPath: bạn đã giải quyết một trong đó đã? – lukewar
Điều xảy ra là khối cập nhật hàng loạt dự kiến bạn thực hiện cuộc gọi để thêm và xóa hàng/phần tương ứng với số hàng và phần mới xảy ra trong khi tải lại. Nếu điều này không xảy ra, một khẳng định được ném. –