4

我有很多线程同时调用 UITableView 的 reloadData 方法。我真的必须在它周围放置一个@synchronized 块吗?

4

2 回答 2

5

reloadData,就像视图上的任何其他方法一样,只能从主线程调用。所以你不需要@synchronized,因为一次应该只有一个线程。

如果您在后台线程上并且希望重新加载表格视图,请使用dispatch_async以确保重新加载发生在主线程上:

dispatch_async(dispatch_get_main_queue(), ^{
    [myTableView reloadData];
});
于 2012-10-08T19:47:38.703 回答
5

您不应该从主线程以外的线程调用 reloadData。

看到这个类似的问题:

iOS - 另一个线程需要将 reloadData 发送到主线程

于 2012-10-08T19:47:47.410 回答