У меня есть объект, у которого есть метод, который возвращает результаты через метод делегата, пару секунд спустя.Я понимаю, что если я сделаю это в другом потоке с помощью GCD, я смогу улучшить производительность своего пользовательского интерфейса, но как насчет метода делегата, который реализован на объекте, который выполняется в главном потоке?
Так что все это происходит восновной поток:
В файле заголовка:
@interface MyViewController : UIViewController <ThisRespondsToSomeDelegate>
В файле реализации контроллера представления:
SomeObject _myDealer; // INSTANCE VARIABLE OF THE OBJECT THAT IMPLEMENTS THE ThisRespondsToSomeDelegate TYPE
Позже тот же файл реализации:
[_myDealer getSomeData];
И позже, метод делегата:
-(void)myDealerReturnedSomeData:data anotherArg:(id)somemoredata {...};
Из того, что я понимаю, я создаю объект * background_queue * с методом * dispatch_queue_create * и затем использую:
dispatch_async(backgroundQueue, ^(void) { [_myDealer getSomeData]; });
Но как мне вернуться к методу делегата в главном потоке?Как myDealerReturnedSomeData: данные вызываются?
Спасибо!
Удачного кодирования!