下载HTML文件时显示静态文本和运行点(正在加载......)

时间:2012-03-28 14:28:47

标签: iphone objective-c ios nsurlconnection

在我的应用程序中,我从服务器下载HTML文件,检查网站上当前是否有图像,并在找到图像时将状态设置为标签。一切都很好,但我喜欢 在应用程序下载文件时向用户显示正在加载状态标签。它适用于静态文本,但如何在加载文本后显示运行点?我喜欢看:加载>加载。 >正在加载..>正在加载...>正在加载>等等(我不需要确切的进度条)

代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    platzStatusLabel.text = @"Loading";
    if (myConnection == nil) {
        myData = [NSMutableData new];
        NSString *urlString = [NSString stringWithFormat:@"http://www.myURL.com"];
        myConnection =[NSURLConnection connectionWithRequest:
                       [NSURLRequest requestWithURL:
                        [NSURL URLWithString:urlString]] 
                                                    delegate:self];
    }

}



- (void)connectionDidFinishLoading:(NSURLConnection *)connection {

    NSString *stringToLookup = [[NSString alloc]initWithData:myData encoding:NSASCIIStringEncoding];

    if ([stringToLookup rangeOfString:@"image_green"].location != NSNotFound){
        platzStatusLabel.text = @"Course is open.";
    } else {
        platzStatusLabel.text = @"Course is closed.";
    }

    [self initializeVariablesAgain];
}




- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {

    [myData appendData:data];
}




- (void) initializeVariablesAgain {
    myData = nil;
    myConnection = nil; 
}

2 个答案:

答案 0 :(得分:1)

为什么不在创建请求时启动UIActivityIndi​​cator(这个突出显示的东西)并在didFinishLoading中停止它? 或者以相同的方式启动和停止以几个字符串迭代的NSTimer。 最后,您可以在didReceiveData中迭代不同的字符串。 干杯

答案 1 :(得分:0)

中更新您的计数器(文件大小已下载更新)
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;

例如

[myData appendData:data];
self.myCountInBytesOfDownloadProgress = [myData length];