2016-08-13 3 views
1

로 NSThread를 시작 I가 매개 변수로 블록을받는 함수 :초기화 및 목표 및 선택

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

그러나 방법 :

typedef void (^ MyCallBack)(int); 

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

내가 NSThread와 다른 스레드에서 함수를 실행해야 위의 NSThread 초기화 함수에서 콜백을 전달할 수 있습니까? 가능한가?

는 (그것이 불가능하면, 무엇 동일을 달성 할 수있는 좋은 대안이 될 수 있을까?)

+0

다음을 확인하십시오 : http://stackoverflow.com/a/10247055/5109911 –

+0

나는 당신의 문제를 이해할 수 없어 보입니다. 블록 NSThrad 초기화의 "개체"매개 변수로? 객체는 "id"타입에서 온 것이므로 원하는 것을 전달할 수 있습니다. – MCMatan

답변

0

내 대답 here를 확인합니다. 이것은 진행 방법입니다. 동일한 질문을 두 번 질문했다고 생각합니다.