2
제 애플리케이션에서 NSOperationQeueu에 작업을 추가합니다. 큐가 비어 있고 내가 (아래 단축 버전)를 사용하므로 모든 작업이 완료 될 때 나는 알고 싶어Howto는 NSOperationQueue가 실제로 비어 있음을 확인합니다.
내 문제는 때로는 작업 큐가있는 동안 그들은 즉시 완료 정도로 경량이다- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
if (object == myLocalModeController.myFileobjectsQueue && [keyPath isEqualToString:@"operations"]) {
if ([myLocalModeController.myFileobjectsQueue.operations count] == 0) {
NSLog(@"Local: Fileobject creation has completed");
}
}
}
여전히 추가됩니다. 그 결과 큐의 항목 수가 0이지만 작업이 완료되지 않은 빈번한 항목이 생성됩니다. 그러나 현재 설정에 따라 프로그램은 '[myLocalModeController.myFileobjectsQueue.operations count] == 0'부터 작업이 완료되었다고 생각합니다. 대기열이 실제로 완료되었고 모든 작업이 종료되었는지 확인하는 방법에 대한 제안 사항이 있습니까? 감사. 건배, 트론
좋은 답변입니다. 또는 Trond는 글로벌 "여전히 설정 중"플래그 또는 "operatingOperations"와 같은 다른 속성을 추가 할 수 있습니다. –