我使用下面的代碼來下載從URL的異步文件,UIProgressView在IOS
NSMutableData *responseData = [[NSMutableData alloc] init];
NSURL *url = [NSURL URLWithString:@"http://www.tuiscos.com/images/trading.png"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
// do something with data
[responseData appendData:data];
myImage8.image = [UIImage imageWithData:data];
NSInteger len = response.expectedContentLength;
NSInteger receiverdBytes = 0;
receiverdBytes = data.length+ receiverdBytes;
float prog = (float)[responseData length]/(float)len;
[progress8 setProgress:prog];
}];
在下載的進展,我想更新進度條,但使用此代碼,我不逐漸取得進展,而是等待完成下載並跳到最大值。我怎樣才能在價值上逐步取得進展? 有人可以提供一個示例代碼?用委託方法的異步方法。 謝謝:)
感謝您的回覆,我想同時執行多個下載。那麼我如何使用委託方法處理它?而且我還需要更新不同的uiprogressviews上的進度。可能嗎? – Mithuzz 2012-03-28 15:41:37
@John你可以將所有的openned連接放在一個數組中,並將它們與**連接中的連接進行比較:didReceiveData:**委託方法來識別當前接收到的數據 – 2012-03-29 09:21:09
@MartinPilch謝謝,但我對此很陌生地區,那麼你可以給我看一個示例代碼嗎? – Mithuzz 2012-03-29 09:25:09