Ios UIView子类(自定义进度视图)不';直到它出现';太晚了
我想在下载某些数据(同步)时查看进度,但我的UIView子类(自定义进度视图)在下载完成之前不会显示。下面是一些代码:Ios UIView子类(自定义进度视图)不';直到它出现';太晚了,ios,networking,user-interface,uiview,download,Ios,Networking,User Interface,Uiview,Download,我想在下载某些数据(同步)时查看进度,但我的UIView子类(自定义进度视图)在下载完成之前不会显示。下面是一些代码: self.progressView.hidden = NO; // I would expect the progressView to show up now // but it doesn't int i = 0; for (Something *something in someList) { if (something...) { i++;
self.progressView.hidden = NO;
// I would expect the progressView to show up now
// but it doesn't
int i = 0;
for (Something *something in someList) {
if (something...) {
i++;
// do something
// start downloading some data
NSString *urlPath = [NSString stringWithFormat:@"somePath"];
NSURL *aURL = [NSURL URLWithString:urlPath];
NSData* responseData = [NSData aURL];
// parse out the JSON data
NSError* error = nil;
NSArray* json = [NSJSONSerialization
JSONObjectWithData:responseData
options:kNilOptions
error:&error];
for (NSDictionary *currentObject in json) {
// do some stuff
}
}
}
// the progressView does show up here... why?
我在下载任何东西之前更改为非隐藏的progressView在所有下载完成后显示。为什么会这样?在下载所有内容之前,我如何显示progressView?因为您的下载阻止了主线程,用户界面可以使用主线程更新屏幕内容。解决方案:为所有网络内容生成一个新线程。但我希望它同步下载,我只想在下载开始之前更新progressView,而不是在加载时。我还需要在一个新的线程中实现它吗?我没有投反对票,我只是取消了我的赞成票:因为我仍然不明白为什么——一个“是的,你愿意”并不能解释任何事情。。。