Альтернатива очередям отправки GCD

По нескольким причинам я хотел бы сделать свое приложение обратно совместимым с OS X 10.5.

До сих пор я использую множество очередей отправки GCD, добавленных в 10.6, например так:

dispatch_async(dispatch_get_main_queue(), ^{
    [self setStatusText:@"Connection established, waiting for response ..."
               withType:STATUS_MSG_INFO];

});

Что было бы самой простой альтернативой, чтобы мне не пришлось переписывать весь код?

Предложения приветствуются! Заранее спасибо!


person guitarflow    schedule 09.08.2013    source источник


Ответы (1)


Как насчет следующего метода NSObject:

- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait
person Paul Dardeau    schedule 09.08.2013
comment
Да, я знаю это, но вы не можете выполнять большие блоки. Но я думаю, что это недостаток, с которым мне придется справиться... А если мне нужно что-то в другом потоке? Есть ли что-то вроде объединения потоков в OS X до 10.6? - person guitarflow; 10.08.2013
comment
С PerformSelectorXXX вы будете использовать вызовы методов вместо блоков. Я не знаю о стандартном пуле потоков, но, вероятно, есть решения с открытым исходным кодом, которые их предоставляют. - person Paul Dardeau; 10.08.2013
comment
Мне просто интересно, как бы вы назвали метод, упомянутый выше (с более чем одним аргументом), нашел здесь простое решение: stackoverflow.com/questions/5299629/ - person guitarflow; 10.08.2013
comment
А как насчет NSOperationQueue? - person BergQuester; 10.08.2013