Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有很多线程同时调用 UITableView 的 reloadData 方法。我真的必须在它周围放置一个@synchronized 块吗?
reloadData,就像视图上的任何其他方法一样,只能从主线程调用。所以你不需要@synchronized,因为一次应该只有一个线程。
reloadData
@synchronized
如果您在后台线程上并且希望重新加载表格视图,请使用dispatch_async以确保重新加载发生在主线程上:
dispatch_async
dispatch_async(dispatch_get_main_queue(), ^{ [myTableView reloadData]; });
您不应该从主线程以外的线程调用 reloadData。
看到这个类似的问题:
iOS - 另一个线程需要将 reloadData 发送到主线程