0

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

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

然后,我可以使用以下方法成功 NSLog requestFinished 方法中的进度:

NSLog(@"Progress: %f", [myProgressView progress]);

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

我想要做的是在主视图上更新我的标签文本,但似乎无法做到这一点.....换句话说,如何将进度实时传递给另一个视图/类更新标签文本。

任何指向正确方向的指针将不胜感激!

谢谢!

4

1 回答 1

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]];
于 2011-08-18T02:06:14.673 回答