Mám veľa vlákien volanie UITableView metódy reloadData súbežne.Mám vlastne musieť dať @ synchronizovaný blok okolo neho?
odpovede:
5 pre odpoveď č. 1Nemali by ste volať reloadData z iných vlákien ako hlavného vlákna.
Pozrite si túto podobnú otázku:
iOS - ďalšie vlákno musí poslať reloadData na mainthread
5 pre odpoveď № 2
reloadData
, rovnako ako akákoľvek iná metóda z pohľadu by mala byť volaný iba z hlavného vlákna, Takže nepotrebujete @synchronized
pretože iba jeden závit by mal byť súčasne.
Ak ste na pozadie a chcete zobrazenie tabuľky znovu načítať, použite dispatch_async
aby ste sa uistili, že na hlavnom vlákne prebieha opätovné načítanie:
dispatch_async(dispatch_get_main_queue(), ^{
[myTableView reloadData];
});