我有一个应用程序,我正在访问一个远程网站NSURLConnection
来运行一些代码,然后保存一些 XML 文件。然后我将访问这些 XML 文件并通过它们进行解析以获取信息。该过程运行良好,只是我的用户界面没有正确更新。我想通过我的UILabel
. 我正在尝试使用setBottomBarToUpdating:
. 当我将其设置为“处理中请稍候...”时,它第一次起作用;但是,connectionDidFinishLoading:
它不会更新。我在想我的 NSURLConnection 正在一个单独的线程上运行,而我dispatch_get_main_queue
在主线程上更新的尝试不起作用。我怎样才能改变我的代码来解决这个问题?谢谢![如果我需要包含更多信息/代码,请告诉我!]
我的文件.m
NSLog(@"Refreshing...");
dispatch_sync( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self getResponse:@"http://mylocation/path/to/file.aspx"];
});
[self setBottomBarToUpdating:@"Processing Please Wait..."];
queue = dispatch_queue_create("updateQueue", DISPATCH_QUEUE_CONCURRENT);
连接完成加载:
if ([response rangeOfString:@"Complete"].location == NSNotFound]) {
// failed
} else {
//success
dispatch_async(dispatch_get_main_queue(),^ {
[self setBottomBarToUpdating:@"Updating Contacts..."];
});
[self updateFromXMLFile:@"http://thislocation.com/path/to/file.xml"];
dispatch_async(dispatch_get_main_queue(),^ {
[self setBottomBarToUpdating:@"Updating Emails..."];
});
[self updateFromXMLFile:@"http://thislocation.com/path/to/file2.xml"];
}