title: Downcasting UICollectionReusableView to subclass fails
body: <p>I created a subclass of UICollectionReusableView. Then in the function</p>
  
  <pre><code>collectionViewTableLayoutManager(manager: collectionView: headerViewForRow row:  indexPath: )
  </code></pre>
  
  <p>I am trying to dequeue a view and cast it to the subclass.</p>
  
  <p>Here's the start of the method:</p>
  
  <pre><code>func collectionViewTableLayoutManager(manager: DRCollectionViewTableLayoutManager!, collectionView: UICollectionView!, headerViewForRow row: UInt, indexPath: NSIndexPath!) -&gt; UICollectionReusableView! {
  
      let view = collectionView.dequeueReusableSupplementaryViewOfKind(DRCollectionViewTableLayoutSupplementaryViewRowHeader, withReuseIdentifier: collectionViewHeaderIdentifier, forIndexPath: indexPath) as! CVHeaderView
  </code></pre>
  
  <p>It crashes at runtime on the "let view ... " with this error:</p>
  
  <pre><code>Could not cast value of type 'UICollectionReusableView' (0x103994fb8) to 'CollectionViewTableLayout.CVHeaderView' (0x1023f3bd0).
  </code></pre>
  
  <p>Here is my subclass code:</p>
  
  <pre><code>class CVHeaderView: UICollectionReusableView {
  
  let textLabel: UILabel!
  
  override init(frame: CGRect) {
  
      let textSize = CGRect(x: 0, y: 0, width: frame.size.width, height: frame.size.height)
      textLabel = UILabel(frame: textSize)
  
      super.init(frame: frame)
  
      textLabel.font = UIFont.systemFontOfSize(10)
      textLabel.autoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth
      textLabel.textAlignment = NSTextAlignment.Center
      textLabel.backgroundColor = UIColor.clearColor()
  
  
      self.addSubview(textLabel)
  
  
  }
  
  required init(coder aDecoder: NSCoder) {
  ...
  }
  </code></pre>
  
  <p>I'm confused why I can't do this downcast. Is it somehow related to my use of the outside library of the DR... classes?</p>