UITableView endUpdates not being called in dispatch_async
问题 I have several table views that send JSON requests to a server, store the results in core data, and display them using an NSFetchedResultsController . I was experimenting with GCD as follows: dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ // Perform JSON requests. dispatch_async(dispatch_get_main_queue(), ^{ [theTableView reloadData]; }); }); However, this would cause some weird things to happen in the UI. New managed objects would render blank cells, deleted