将进度条信息传递给View Controller

时间:2011-03-27 13:10:07

标签: objective-c cocoa-touch ios uiprogressview

我有一个处理下载并提供进度信息的课程。

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [recievedData appendData:data];
    self.recievedlength = self.recievedlength + [data length];

    // Calculating progress
    self.progress = 0;
    self.progress = ((float)recievedlength / [filesize floatValue]);
    // NSLog(@"%f",self.progress);

    [self performSelectorOnMainThread:@selector(passProgress) withObject:nil waitUntilDone:NO];

我有以下选择器,它返回浮点数的进度信息int形式,在同一个类中:

  • (float)passProgress {
        //NSLog(@"%f",self.progress);     回归自我 }

我的问题是,如何更新MainViewController中的UIProgressView(进度条)。以下不起作用。

NSLog(@"Progress %f",[classInstance passProgress]);

任何想法都谢谢。我不想在MainViewController中编写下载代码。

1 个答案:

答案 0 :(得分:0)

在下载管理器中写一个protocol。在主视图控制器中采用该协议。