/ / Musím používať @synchronizované pri volaní metódy UITableView reloadData? - iphone, objektív-c, ios

Musím použiť @synchronizované pri volaní metódy UITableView reloadData? - iphone, objektív-c, ios

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ď č. 1

Nemali 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];
});