2016-08-13 6 views
1

У меня есть функция, которая принимает блок в качестве параметра:инициализировать и запустить NSThread с целью и селектором

typedef void (^ MyCallBack)(int); 

-(void)doTask:(MyCallBack)callback{ 
... 
} 

мне нужно запустить функцию в другом потоке с NSThread:

NSThread* myThread = [[NSThread alloc] initWithTarget:self 
              selector:@selector(doTask:) 
               object:nil]; //how to pass callback block here? 
[myThread start]; 

Но как могу ли я получить обратный вызов в функции инициализации NSThread выше? Является ли это возможным?

(Если это невозможно, что может быть хорошей альтернативой для достижения того же?)

+0

Проверьте это: http://stackoverflow.com/a/10247055/5109911 –

+0

Я не могу понять вашу проблему, вы пытаетесь пройти блок как параметр «объект» инициализации NSThrad? объект имеет тип «id», вы можете передать все, что пожелаете. – MCMatan

ответ

0

Проверьте мой ответ here. Это путь для продолжения. Я думаю, что вы задали тот же вопрос дважды.