2010-05-13 47 views
5

我需要一些關於NSURLConnectionDelegate方法的幫助。NSURLConnectionDelegate連接:didReceiveData不起作用

- (void)startDownload { 
NSString *URLString = [NSString stringWithFormat:appRecord.imageURLString]; 
NSURL *url = [NSURL URLWithString:URLString]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

imageConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 
if(imageConnection) { 
    activeDownload = [NSMutableData data]; 
} 
} 

我使用這種方法來啓動NSURLConnection的,但

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 

並沒有叫..需要幫助提前

感謝, 世斌

+0

您是否在您的應用中實施了懶表? – Warrior 2010-05-13 09:14:16

+0

是的,我是。你能幫我實施這個嗎?請輸入 – smakstr 2010-05-13 09:46:16

+0

爲什麼要更改圖標下載加載器類中的代碼?不要改變那個班級。 – Warrior 2010-05-13 12:33:37

回答

2

沒有唯一的答案但: 1)把一些NSLogs顯示的URL,然後驗證它是否正確生成並確實返回數據

2)檢查您是否正確申報,你符合NSURLConnectionDelegate協議在.H

3)你穿或與runloops搞亂? 「給代理的消息將在調用此方法的線程上發送,默認情況下,爲使連接正常工作,調用線程的運行循環必須以默認運行循環模式運行。」

+0

非常感謝Andiih,但它仍然沒有工作。我得到相同的輸出。我試着用NSlog和NSURLConnectionDelegate協議在.h文件中聲明。我不明白爲什麼它會發生這樣的事情。 – smakstr 2010-05-13 09:45:42

0

對不起,您是否在您的代碼中執行了start?我沒有在你的摘錄中看到它。 應該有一個

[imageConnection start] 

地方在你的代碼觸發連接的開始,讓你的委託異步調用。