我在主视图的单独类文件中使用ASIHTTPRequest Queue从我的Web服务器下载多个文件。我已将UIProgressView设置为下载进度委托,如下所示:
UIProgressView *myProgressView = [[UIProgressView alloc] init];
[myQueue setDownloadProgressDelegate:myProgressView];
然后我可以通过使用:
成功地NSLog在requestFinished方法中的进度NSLog(@"Progress: %f", [myProgressView progress]);
一切正常,能够看到日志中显示的正确金额。
我希望能够做的是在主视图上更新我的标签文本,但似乎无法弄清楚这样做......换句话说,如何将进度实时传递到另一个视图/ class用于更新标签文本。
非常感谢任何正确方向的指针!
谢谢!
答案 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]];