未使用後臺線程調用連接委託方法,爲什麼?未使用後臺線程調用連接委託方法,爲什麼? (iPhone SDK)
在程序中,我創建了後臺線程和該線程集連接委託,通過設置ObjNSURLConnection.delegate = AnotherClass,並且AnotherClass包含NSURLConnection委託方法。
但是,當我調試代碼我發現NSURLConnection委託方法不會調用。 任何理由,爲什麼他們不被稱爲?如何解決這個問題?
未使用後臺線程調用連接委託方法,爲什麼?未使用後臺線程調用連接委託方法,爲什麼? (iPhone SDK)
在程序中,我創建了後臺線程和該線程集連接委託,通過設置ObjNSURLConnection.delegate = AnotherClass,並且AnotherClass包含NSURLConnection委託方法。
但是,當我調試代碼我發現NSURLConnection委託方法不會調用。 任何理由,爲什麼他們不被稱爲?如何解決這個問題?
NSURLConnection
安排通知調用它的runloop上的事件。您可能會忽略爲後臺線程運行runloop。
您需要在啓動連接後明確運行runloop。嘗試添加這一行代碼
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
我已經使用NSInvocationOperation和NSOperationQueue創建了線程。 – Matrix 2010-10-15 13:37:17
這將很難診斷這樣的問題。你能更具體還是張貼一些代碼? – Jordan 2010-10-15 14:49:14