使用UIProgressView进度更新标签

时间:2011-08-17 23:14:06

标签: iphone xcode asihttprequest uiprogressview

我在主视图的单独类文件中使用ASIHTTPRequest Queue从我的Web服务器下载多个文件。我已将UIProgressView设置为下载进度委托,如下所示:

UIProgressView *myProgressView = [[UIProgressView alloc] init];
[myQueue setDownloadProgressDelegate:myProgressView];

然后我可以通过使用:

成功地NSLog在requestFinished方法中的进度
NSLog(@"Progress: %f", [myProgressView progress]);

一切正常,能够看到日志中显示的正确金额。

我希望能够做的是在主视图上更新我的标签文本,但似乎无法弄清楚这样做......换句话说,如何将进度实时传递到另一个视图/ class用于更新标签文本。

非常感谢任何正确方向的指针!

谢谢!

1 个答案:

答案 0 :(得分:1)

在你的委托类中设置一个属性,它是一个返回主类的引用指针(使其成为赋值属性)。

MyMainView *myMainView
@property (nonatomic, assign) MyMainView *myMainView

在您创建ASIHTTPRequestQueue并设置其委托时,还要在委托上设置myMainView属性。

在主视图类上添加一个方法,例如

-(void) updateProgress:(double) progress {
    // code to update the label text
}

在您的委托方法中(即您当前记录进度的位置):

[self.myMainView updateProgress:[progressView progress]];