title: Swift: How to define a UIView delegate with unowned(unsafe) reference?
body: <p>I find the following code in <code>UITableView</code> class,</p>
  
  <pre><code>unowned(unsafe) var delegate: UITableViewDelegate?
  </code></pre>
  
  <p>so I wander how to define a <code>unowned(unsafe)</code> reference delegate for <code>UIView</code>, then I encounter the following error when I write the unowned(unsafe) keyword in my class,</p>
  
  <pre><code>/Users/larryhou/Documents/Xcode/AtomicElements/AtomicElements/AtomicElementView.swift:32:25: 'unowned' cannot be applied to non-class type 'AtomicElementViewDelegate?'
  
  protocol AtomicElementViewDelegate:NSObjectProtocol
  {
      func didTap(target:AtomicElementView, sender:UITapGestureRecognizer)
  }
  </code></pre>
  
  <p>I can only use <code>weak</code> keyword, but I want keep the reference until <code>UIView</code> is deallocated.</p>