2013-03-06 2 views
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]; 
       }); 
       }); 
       }]; 
} 
+0

работает ли tableView reloadData? если нет, запустите его в основном потоке – mashdup

+0

reloadData работает ... Если я помещу этот метод в другое место, ячейки не загрузятся. – Morkrom

ответ

3

Вы можете попробовать изменить эту строку

[self.tableView addSubview:refreshControl]; 

с

[self setRefreshControl:refreshControl]; 
+0

Рад, что я мог помочь :) – AC1