下载文件时立即更新ULabel

时间:2012-07-10 10:28:29

标签: iphone objective-c cocoa-touch uilabel performselector

我正在使用NSURLConnection下载文件。我的视图中有一个UILabel,它必须显示当前正在下载的文件。 UILabel在开始和结束时都会更新。可以说我下载了10个文件。我可以在开始下载之前和完成下载之后设置Label文本。

我可以理解,我试图调用的方法没有在主线程中运行,

所以我使用以下代码使其在主线程中运行,

[_myHome performSelectorOnMainThread:@selector(updateLabel) withObject:nil waitUntilDone:YES];

和方法是

- (void) updateLabel
 {
         _fileName.text =[NSString stringWithFormat:@"%@",fileName];
 }

这似乎也行不通。我在这里做错了吗?

谁能告诉我如何立即更新标签?

2 个答案:

答案 0 :(得分:0)

解决:我使用NSNotificationCenter向其他类发送通知,这将立即更新标签。我尝试使用performSelectorOnMainThread,即使updateProgress,performSelectorOnMainThread都在同一个类中。

为什么它没有成功的任何原因是最受欢迎的。

答案 1 :(得分:-1)

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    //update your label 
}