Iphone 调用UITableView重载数据方法时是否需要使用@synchronized?

Iphone 调用UITableView重载数据方法时是否需要使用@synchronized?,iphone,objective-c,ios,Iphone,Objective C,Ios,我有许多线程同时调用UITableView的reloadData方法。我真的必须在它周围放置@synchronized块吗?重新加载数据,就像视图上的任何其他方法一样,应该只从主线程调用。因此,您不需要@synchronized,因为一次只能有一个线程 如果您在后台线程上,并且希望重新加载表视图,请使用dispatch\u async确保在主线程上重新加载: dispatch_async(dispatch_get_main_queue(), ^{ [myTableView reloadD

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

重新加载数据
,就像视图上的任何其他方法一样,应该只从主线程调用。因此,您不需要
@synchronized
,因为一次只能有一个线程

如果您在后台线程上,并且希望重新加载表视图,请使用
dispatch\u async
确保在主线程上重新加载:

dispatch_async(dispatch_get_main_queue(), ^{
    [myTableView reloadData];
});

您不应该从主线程以外的线程调用重载数据

见类似问题: