我怎么知道哪个ViewController是活动的?

我使用NSOperationQueue下载图像。

一旦图像下载完成,我想调用我的视图控制器的方法reloadView

但是,当下载正在进行时,用户已经移到不同的视图是相当可能的。 这个其他视图也将有一个reloadView方法(例如第一个视图显示总下载图像计数,第二个显示下载图像的缩略图)

基本上我想要的是,每当图像下载完成后,我应该能够调用主动视图控制器的reloadView方法,无论它是哪一个?

这怎么可能?

我不会采取这种做法。 这是NSNotificationCenter所devise的。 当您的图像完成下载后,发布通知。 在需要了解它的视图控制器中,在viewDidAppear:侦听通知,并在viewDidDisappear:停止侦听viewDidDisappear: 。 您的下载代码不需要知道您的视图控制器或其状态的细节。

Interesting Posts