2009-05-12 4 views
0

NSURLConnection을 사용하는 classDownload가 있습니다. 모든 NSURLConnection 이벤트를 classDownload에 유지하고 싶습니다. ClassA는 classDownload를 사용하려고하지만 classDownload에서 Finish라고하는 connectionDidFinishLoading과 같은 알림도 수신하려고합니다. ClassDownload에서 ClassA로 알림을 받으려면 어떻게해야합니까?알림을위한 프로토콜이 필요합니까?

답변

2

classDownloadNSURLConnection의 대리인이라고 가정하면 위임 메서드가 호출 될 때 NSNotificationCenter을 사용하여 이벤트를 브로드 캐스트 할 수 있습니다. 그런 다음 classA에 을 사용하여 classDownload에 이벤트를 구독하십시오. 설명이나 코드 스 니펫이 필요한 경우 알려주십시오.

편집

직접 제목의 질문에 대답하기 위해, 아니, 당신은 NSNotificationCenter를 사용하여 객체에 의해 게시 이벤트를 구독 할 프로토콜을 필요로하지 않습니다.

+0

감사합니다. NSNotificationCenter의 notificationSelector 값은 어디에서 왔습니까? – 4thSpace

+0

addObserver 메소드에서 사용 하시겠습니까? 그것은 이벤트가 발생할 때 전달하는 클래스에서 호출되어야하는 선택 자입니다. 그것을 얻으려면 @selector() 함수 서명을 래핑합니다. 예를 들어, classA에 downloadFinished라는 하나의 매개 변수를 사용하는 메서드가 있으면 @selector (downloadFinished :)를 addObserver : 메서드 호출에 전달합니다. –

+0

감사합니다. 내가하는 일과 상관없이 다운로드 할 파일을 여러 개 부여하더라도 내 홈페이지를 계속 다운로드합니다. NSLog (@ "request % @ :", [request URL])를 시도했습니다. 연결에서 어떤 URL을 얻었는지 확인하지만 콘솔에 출력되는 것은 아무것도 아닙니다. 의견 있으십니까? – 4thSpace