2012-03-13 5 views
0

NSOperationQueue를 사용하여 이미지를 다운로드하고 이미지를 다운로드 할 때 Main 클래스 UI로 업데이트되는 사용자 지정 NSObject 클래스 (Downloader)가 있습니다. 여기서 문제는 다운로드가 진행 중일 때 다운로더 클래스의 작업을 취소 할 수 없다는 것입니다. 메인 스레드는 NSOperationQueue 콜백에 의해 개최되는 것 같아요 그리고 나는 canceloperations를 호출하려고하면 모든 다운로드가 끝난 후에 만 ​​응답합니다. 이것으로 통해 나에게 휴식을주세요 ... 내 진심으로 감사 ...UI를 변경할 때 NSOperationQueue 중지

+0

NSOperation 내에 취소 테스트를 구현 했습니까? – gaige

답변

0

당신은 예를

@property (readwrite) BOOL isOperationQueueMustHold; 

를 들어, AppDeledate 속성에 할 당신이 사이클을 nsoperation에서 다음, 그 코드를 추가 할 수 있습니다

while (delegate.isOperationQueueMustHold == YES) 
{ 
    sleep(1); 
} 

UI가 업데이트되는 동안이 작업이 중단됩니다.