0
NSOperationQueue & NSInvocationOperation을 사용하여 간단한 예제를 작성하려고합니다. 여기 내 코드는 다음과 같습니다왜이 NSInvocationOperation이 실제로 실행되지 않습니까?
- (void) runMethodsViaOperationQueue {
NSOperationQueue *thisQueue = [[NSOperationQueue alloc] init];
NSInvocationOperation *logMethod1Invocation = [[NSInvocationOperation alloc]
initWithTarget:self
selector:@selector(logMethod1)
object:nil];
[thisQueue addOperation:logMethod1Invocation];
}
logMethod1는 같이 단지 루프 NSLog 문입니다 :
- (void) logMethod1 {
for (int a = 0; a < 10; a++) {
NSLog(@"%s --> logMethod1: %i", __FUNCTION__, a);
if (a == 9) {
NSLog(@"%s --> ==================", __FUNCTION__);
}
}
}
클래스 메인에 인스턴스화, runMethodsViaOperationQueue가 호출된다. 내가 NSLog를 통해 예상대로 runMethodsViaOperationQueue 아무것도 출력을 실행할 때
MyOperationTestingClass *instantiateIt = [[MyOperationTestingClass alloc] init];
[instantiateIt runMethodsViaOperationQueue];
것이다. 아무도 왜 이것이 작동하지 않는지 명확히 설명 할 수 있습니까?