Да, в Задаче С. есть концепции многопоточности, и в задаче С. есть несколько способов достижения многопоточности.
1> NSThread
[NSThread detachNewThreadSelector:@selector(startTheBackgroundJob) toTarget:self withObject:nil];
Это создаст новую тему в фоновом режиме. из вашей основной темы.
2> Использование executeSelector
[self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:YES];
выполнит задачу пользовательского интерфейса в вашем основном потоке, если вы вызовете это из фонового потока ... Вы также можете использовать
[self performSelectorInBackground:@selector(abc:) withObject:obj];
Который создаст фоновый поток.
3> Использование NSoperation
Перейдите по этой ссылке
4> Использование GCD
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self callWebService];
dispatch_async(dispatch_get_main_queue(), ^{
[self updateUI];
});
});
Будет callWebService
в фоновом потоке и после его завершения. В основном потоке будет updateUI
. Подробнее о GCD
Это почти весь способ многопоточности, который используется в iOS. надеюсь, это поможет.