UIActivityIndi​​catorView NSURLConnection,视图未显示

问题描述

| 我在通过NSURLConnection请求的帮助从服务器收集数据时显示UIActivityIndi​​catorView时出现问题。 我认为该请求是异步的,即是在新线程中启动的。我已经从Apple的AdvancedTableViewCells示例中复制了内容。我在iOS 4.3 iPhone模拟器的XCode中运行它。我还没有在真正的iPhone上测试过它。 我也用谷歌搜索了这个问题,并尝试了很多建议,但感觉是我忘记了一些基本知识。下面是我来自RootViewController类的代码。 我相信,我只是选择一行,创建并添加activityview,开始动画,然后创建NSUrlConnection对象,该对象开始从另一个线程中的服务器获取数据。 有任何想法吗?
@interface RootViewController : UITableViewController {
    NSMutableData *receivedData;
    UIActivityIndicatorView *activityView;
}

@end

...

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    // In my rootviewcontroller
    activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

    [self.view addSubview:activityView];
    [activityView startAnimating];
    …

    NSMutableuRLRequest *tUrlRequest = [tQuery createUrlRequest:tStatId];
    NSURLConnection *tConnectionResponse = [[NSURLConnection alloc] initWithRequest: tUrlRequest delegate: self];

    if (!tConnectionResponse) {
        NSLog(@\"Failed to submit request\");
    } else {
        NSLog(@\"Request submitted\");
        receivedData = [[NSMutableData data] retain];
    }
    return;
}

...

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

    NSLog(@\"Succeeded! Received %d bytes of data\",[receivedData length]);

    NSXMLParser *tParser = [[NSXMLParser alloc] initWithData: receivedData];
    ...

    [tParser parse]; 
    ...

    [connection release];
    [receivedData release];

    [NSThread sleepForTimeInterval: 2.0]; // Just to see if activity view will show up...

    NSUInteger row = 1;  
    if (row != NSNotFound) 
    { 
        // Create the view controller and initialize it with the 
        // next level of data. 
        VivadataTViewController *vivaViewController = [[VivadataTViewController alloc] init];

        if (activityView != nil) {
            [activityView stopAnimating];
        }
    }
}
    

解决方法

        遇到同样的问题,尝试将“属性检查器”->“样式”下的UIActivityIndi​​catorView的颜色更改为“灰色”     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...