title: swift protocol, IBOutlet property cannot have non-object type
body: <p>I would like to wire up a custom swift delegate in IB. The delegate is an object that implements a certain protocol in swift. </p>
  
  <pre><code>protocol ThumbnailTableViewCellDelegate {
      func cellWasTouched(thumbnail: Bool, cell: UITableViewCell)
  }
  
  class ThumbnailTableViewCell: UITableViewCell {
      @IBOutlet var thumbnailTableViewCellDelegate: ThumbnailTableViewCellDelegate?
  }
  </code></pre>
  
  <p>unfortunately, the compiler complains with:</p>
  
  <pre><code>error: 'IBOutlet' property cannot have non-object type 'ThumbnailTableViewCellDelegate'
      @IBOutlet var thumbnailTableViewCellDelegate: ThumbnailTableViewCellDelegate?
      ^~~~~~~~~
  </code></pre>