下载完成/启动后更新UITableView

时间:2014-04-28 08:57:58

标签: ios objective-c uitableview

我在应用中处理棘手的情况。这个应用程序显示了一个UITableView中的文件列表,你可以从那里下载(我使用AFnetworking 2.0)一个文件然后你可以在另一个UITableView中看到下载进度(所有的视图都在UITabBarController中)。

我的问题是,我不确定如何重新加载显示当前下载的UITableVIew,当添加新的或者完成或取消一个时。我尝试使用KVO,但它没有从AFnetworking观察操作队列。

修改 这是我试过的KVO代码

在我的下载UITableViewCell

 - (void)viewDidLoad
{
 [super viewDidLoad];

[[[[PodcastManager sharedManager] sessionManager] operationQueue] addObserver:self
                                                                 forKeyPath:NSStringFromSelector(@selector(operations))
                                                                    options:NSKeyValueObservingOptionNew
                                                                    context:nil];
 }

然后......

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
  if (object == [[[PodcastManager sharedManager] sessionManager] operationQueue]) {

    if ([keyPath isEqualToString:NSStringFromSelector(@selector(operations))]) {

      NSLog(@"OperationCount: %lu", (unsigned long)[[[[[PodcastManager sharedManager] sessionManager] operationQueue] operations] count] );

    }
  }
}

但是这个"解决方案"没在这里工作。

在过去,我遇到了与另一个应用程序类似的情况,然后我使用了块,但这次,我想避免使用该解决方案,因为我想要重用的当前应用程序代码的某些部分未来。

任何人都面临类似的情况可以带来一些光明吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

为什么不运行

[tableView reloadData];
每次下载后

?也许我错过了一些东西。但那就是我要做的事。