2011-08-18 6 views
0

내 작업을 구현하기 위해 NSOperation을 하위 클래스 화합니다. MyOperation이라고합니다.NSOperation 객체가 비동기 호출을 다시받을 수없는 이유는 무엇입니까?

MyOperation을 구현할 때 주 함수를 재정 의하여 내부에 비동기 네트워크 항목을 만들고 대리자를 자체 (작업 개체)로 설정합니다. 그러나 작업 개체는 절대로 위임 콜백을받지 못합니다. 나는 콜백을 받기 전에 끝내지 않았다.

아니면 NSOperation이 그렇게 할 수 없습니까?

수동으로 작업을 "시작"하면 작동합니다. 하지만 작업 대기열에 추가하면 작업이 수행되지만 그 콜백을 얻을 수 없습니다.

답변

0

이 같은 주요 방법에 콜백을 설정하는 경우 :

-(void)main{ 
    // setup 
    object.delegate = self 
} 

은 다음의 주요 방법은 완전한 실행을 계속하고, 대리인이 콜백을 완료 할 수있는 기회를 가지고 전에 멀리 이동합니다. NSOperation에서 start 메서드를 재정의하고 isFinished 및 isExecuting 속성을 수동으로 처리해야하거나 사라지지 않는 개체에서 대리자 메서드를 호출 할 수있는 방법을 찾아야합니다.

제대로 작동하려면 올바른 방법과 KVC 알림을 재정의하는 방법에 대한 자세한 내용은 NSOperation class reference을 참조하십시오.

관련 문제