2011-12-01 10 views
2

이 필요했습니다. 위임 방법은 호출되지 않습니다 때까지는 NSRunLoop에, 설명은

[[NSRunLoop currentRunLoop]run]; 
내가 startImmediately:YES 정확하게 그렇게 할 것이라고 생각했을 것이다

.

+0

이 코드는 별도의 스레드 또는 기본 스레드에서 실행됩니까? –

+0

내 지식에 대한 주 스레드 – JAM

+0

명령 줄 앱 또는 GUI 앱에 있습니까? – bryanmac

답변

4

비동기 콜백에는 NSRunLoop이 필요합니다. 참조 :

Cocoa: NSURLConnection not attempting an HTTP Request

명령 줄 응용 프로그램은 기본적으로 NSRunLoop이없는 - 인터페이스 애플리케이션은 않습니다. 워드 프로세서

: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html

initWithRequest : 대표 : 초기화 된 URL 연결을 반환하고, URL 요청에 대한 데이터를로드하기 시작 . 연결이 제대로 작동하려면

- (id)initWithRequest:(NSURLRequest *)request delegate:(id <NSURLConnectionDelegate>)delegate 

는 ..., 호출 스레드의 실행 루프는 기본 실행 루프 모드에서 작동해야합니다. scheduleInRunLoop : forMode : 실행 루프 및 모드를 변경하는 방법을 참조하십시오.

+0

Bryan - GUI 응용 프로그램이 자동으로 NSRunLoop을 얻는 반면 명령 줄 응용 프로그램은 명시 적으로 선언해야한다고 말하고 싶습니까? – JAM

+0

그게 전부입니다. – Wevah

+0

고마워요. 정말로 도움이된다. – JAM

관련 문제