Вы создаете новый поток в viewDidAppear
и выполняете селектор GetBackEndData
в отдельном потоке.
[[NSNotificationCenter defaultCenter] postNotificationName:@"reload"
object:nil userInfo:nil];
вы делаете NSNotificationCenter
в GetBackEndData
и перезагружаете некоторые данные, что означает, что вам нужно ждать, пока ваш поток завершит выполнение и заблокирует поток пользовательского интерфейса.
создание потока в viewDidAppear - неправильный подход. Вы можете использовать dispatchQue в какой-либо другой функции, или альтернативным вариантом является ожидание завершения выполнения потока и показ индикатора активности.