title: Single delegate with multiple controllers
body: <p>I ran into a situation where I want to register 2 different UIViewControllers with one delegate, because my project is showing 2 UIViewControllers at a time. When I trigger the event, I want both the controllers to get notified, but unfortunately only either controller can receive the event not both.</p>
  
  <p>Here is sample code:</p>
  
  <pre><code>@objc protocol DownloaderDelegate: class {
      func complete()
  }
  
  class Downloader {
      static let sharedInstance = Downloader()
      weak var delegate: DownloaderDelegate?
  
      private init() {
  
      }
  
      func downloadFile() {
           self.delegate!.complete()
      }
  }
  </code></pre>
  
  <p>I am then using it like this in both UIViewControllers:</p>
  
  <pre><code>override viewDidLoad() {
      super.viewDidLoad()
  
      Downloader.sharedInstance.delegate = self
  }
  </code></pre>
  
  <p>Any idea how to make both the view controllers to listen to event from single delegate?</p>