调用connectionDidFinishLoading之后更新View Controller

我正在尝试asynchronous加载网页内容。 一旦调用了connectionDidFinishLoading方法,我不知道如何更新视图控制器中的标签/其他内容。 在下面的示例中,我只是试图更新标签以显示内容已经加载。 我将如何做到这一点? 谢谢!

- (void)connectionDidFinishLoading:(NSURLConnection *)connection { NSLog(@"Succeeded! Received %d bytes of data",[responseData length]); NSString *txt = [[NSString alloc] initWithData:responseData encoding: NSASCIIStringEncoding]; label.text = @"DISPLAY THIS WHEN FINISHED"; } 

我被告知让我的viewController成为NSURLConnectionDelegate,然后从viewDidLoad运行fetchData方法,然后在connectionDidFinishLoading中获取数据时使用获取数据的数据。 任何人都知道从哪里开始? 谢谢!

正如Ramy正确指出的,你必须在主线程上更新你的UI,然后:

 - (void)connectionDidFinishLoading:(NSURLConnection *)connection { NSLog(@"Succeeded! Received %d bytes of data",[responseData length]); NSString *txt = [[NSString alloc] initWithData:responseData encoding: NSASCIIStringEncoding]; NSString *text = @"DISPLAY THIS WHEN FINISHED"; [label performSelectorOnMainThread:@selector(setText:) withObject:text waitUntilDone:NO] }