2
我有一個UIRefreshControl,並且它在您使用它時正常工作,但它掛起,它永遠不會消失。我試過UIRefreshControl無限期掛起
[self.refreshControl endRefreshing];
該解決方案來自類似的question,但它沒有解決我的問題。
即使這樣,refreshControl繼續旋轉,而不是解散。爲什麼是這樣?
在我viewDidLoad中:
[NSThread detachNewThreadSelector:@selector(refreshFeed) toTarget:self withObject:nil];
refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self
action:@selector(refreshFeed)
forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:refreshControl];
refreshFeed方法...
-(void)refreshFeed
//load those feeds
{
RSSLoader* rss = [[RSSLoader alloc] init];
[rss fetchRssWithURL:feedURL
complete:^(NSString *title, NSArray *results) {
dispatch_queue_t downloadQueue = dispatch_queue_create("downloader",NULL);
dispatch_async(downloadQueue, ^{
_objects = results;
//completed fetching the RSS
dispatch_async(dispatch_get_main_queue(), ^{
[self.refreshControl endRefreshing];
[self.tableView reloadData];
});
});
}];
}
做tableView reloadData的工作?如果沒有,讓它在主線程上運行 – mashdup 2013-03-06 17:03:34
reloadData確實有效......如果我把這個方法放在其他任何地方,這些單元不會加載。 – Morkrom 2013-03-06 17:34:53