我試圖用ASIHTTPRequest做一個異步請求,但在請求完成時有一些問題得到通知。ASIHTTPRequest,EXC_BAD_ACCESS當請求完成時
-(void)doDownload{
NSURL *url = [NSURL URLWithString:@"http://www.someurl.com/?"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"someValue" forKey:@"someField"];
[request setRequestMethod:@"POST"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestFinished)];
[request startAsynchronous];
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
// Use when fetching text data
NSString *responseString = [request responseString];
}
requestFinished永遠不會被調用。我在ASIHTTPRequest.m中得到了一個異常,--handleStreamCompleted:
if (fileError) {
[self failWithError:fileError];
} else {
[self requestFinished]; <----- this call fails
}
任何線索?
這似乎是正確的答案。我有一個需要解決的終生管理問題。現在,我創建一個下載類,調用一個方法,並立即發佈。我必須實現一些回調系統,讓下載實例所有者知道什麼時候完成。我最終會以任何方式需要這個,以隱藏進度視圖和更新數據等。謝謝。 – Vegar 2010-01-29 23:09:25
如何在使用ARC運行時執行此操作?請參閱我的[topic here](http://stackoverflow.com/questions/8355974)。 – dhrm 2011-12-02 13:20:01
託什。 @tomute是正確的,選擇器的名稱是requestFinished:,而不是requestFinished,這就是整個問題。沒有必要在生命週期和保留內容上打破你的頭腦。 – 2011-12-28 21:14:33