我怎么知道哪个ViewController是活动的?
我使用NSOperationQueue下载图像。
一旦图像下载完成,我想调用我的视图控制器的方法reloadView
。
但是,当下载正在进行时,用户已经移到不同的视图是相当可能的。 这个其他视图也将有一个reloadView
方法(例如第一个视图显示总下载图像计数,第二个显示下载图像的缩略图)
基本上我想要的是,每当图像下载完成后,我应该能够调用主动视图控制器的reloadView
方法,无论它是哪一个?
这怎么可能?
我不会采取这种做法。 这是NSNotificationCenter
所devise的。 当您的图像完成下载后,发布通知。 在需要了解它的视图控制器中,在viewDidAppear:
侦听通知,并在viewDidDisappear:
停止侦听viewDidDisappear:
。 您的下载代码不需要知道您的视图控制器或其状态的细节。