我有一個UITableViewController,這是從一個NSURLConnection的加載數據僅當:的UITableView不顯示第一次,滾動有點
NSURL *url = [NSURL URLWithString:@"http://url.now"];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30.0];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){
if ([data length] > 0 && error == nil){
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
[parser setDelegate:self];
[parser parse];
}
else if (error != nil){
UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"No internet connection" message:@"Content." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:true];
}
}];
當解析結束時,reloaddata方法被調用。但是當應用程序加載時,UITableView的內容沒有顯示。當我滾動一下時,它立即可見。重新加載是沒有問題的。
這怎麼解決?
在viewDidLoad中,你調用'[tableView reloadData];'correct? – erdekhayser
我打電話給[tableView reloadData];在parserDidEndElement中解析最後一個元素。我也試過它在viewDidLoad中,但沒有效果! –