Tôi có UITableView
với một số nội dung được tải theo số không đồng bộ. Khi người dùng xoay thiết bị, tôi cần phải thực hiện [tableView reloadData]
theo phương thức -willRotateToInterfaceOrientation
. ReloadData hoạt động không đồng bộ trong trường hợp của tôi.Làm thế nào để làm cho MainThread chờ đợi cho đến khi một số hành động async được thực hiện?
Tôi hiểu rằng reloadData hoạt động trong chuỗi chính, nhưng nó kích hoạt cellForRowAtIndexPath, hoạt động không đồng bộ trong trường hợp của tôi.
Vì vậy, câu hỏi đặt ra là làm thế nào để chủ đề chính đợi cho đến khi UITableView's reloadData
kết thúc.
Tôi hiểu rằng reloadData được gọi trong chuỗi chính. Nhưng realodData gọi cellForRowAtIndexPath ... và phương thức này cần tải một số dữ liệu không đồng bộ. –
Tôi hiểu, vì vậy bạn không đợi tải lạiData để hoàn thành nhưng các tác vụ không đồng bộ tải lạiData sẽ ngừng hoạt động để hoàn thành. Bạn có thể sửa đổi câu hỏi của mình để phản ánh điều này không? NSRunLoop vẫn là những gì bạn muốn, mặc dù tôi không hiểu tại sao bạn muốn giữ cho bạn con tin chủ đề chính trong khi tải dữ liệu không đồng bộ. – NSProgrammer
Một chủ đề chính cần phải chờ reloadData, bởi vì điều này sẽ làm cho hình ảnh động quay dễ chịu. –