title: Swift protocol delegate not being fired
body: <p>I have a VC that contains a containerview that holds a table view.
  <strong>= Root VC holds the tableview</strong> </p>
  
  <p>I have setup a delegate from the tableview to the root VC that checks if the screen is being scrolled up or down, and this works.</p>
  
  <p>What I now want to do is to have a delegate between root VC <strong>to</strong> the table view. When a button is clicked in the root VC I want to fire a function in the table view.</p>
  
  <p>This will make the viewcontrollers have delegates implemented on each other - is that a problem?</p>
  
  <p>eg:</p>
  
  <pre><code>class RootVC, tableViewDelegate
  class Tableview, RootVCDelegate
  </code></pre>
  
  <p>My delegate looks like this:</p>
  
  <pre><code>protocol RootVCDelegate: class {
      func RootVCDidTouchGrid(controller: RootViewController)
  }
  
  class rootvc { ...
  
  weak var delegate: RootVCDelegate?
  
  @IBAction func gridButtonDidTouch(sender: AnyObject) {
          delegate?.RootVCDidTouchGrid(self)
      }
  </code></pre>
  
  <p>Then in table view:</p>
  
  <pre><code>class tableview, RootVCDelegate {..
  
  func RootVCDidTouchGrid(controller: RootViewController) {
          println("touched!")
      }
  </code></pre>
  
  <p>So why is never <code>println("touched!")</code> fired?</p>
  
  <p>Thanks</p>