title: UIView, CMDeviceMotionHandler : unowned may only be applied to class and class-bound protocol types
body: <p>I'm creating a UIView that listens to <code>CMDeviceMotion</code> Events:</p>
  
  <pre><code>class MyView: UIView{
  
  
      private var motionManager = CMMotionManager()
      let motionQueue = NSOperationQueue()
  
  
      override func awakeFromNib() {
          self.setupView()
      }
  
      func setupView(){
          self.motionManager.deviceMotionUpdateInterval = 0.5
          self.motionManager.startDeviceMotionUpdatesUsingReferenceFrame(.XArbitraryZVertical, toQueue: self.motionQueue, withHandler: self.motionHandler)
      }
  
      // MARK: - CMDeviceMotionHandler
  
      let motionHandler : CMDeviceMotionHandler = {
          [unowned self] (motion,error) in
      }
  }
  </code></pre>
  
  <p>I'd like to declare my <code>CMDeviceMotionHandler</code> closure as a member variable however I get the error:</p>
  
  <blockquote>
    <p>'unowned' may only be applied to class and class-bound protocol types,
    not 'MyView -> () -> MyView'</p>
  </blockquote>
  
  <p><code>MyView</code> is a <code>UIView</code> which in turn is a class so I don't get why it's complaining that <code>unowned</code> can not be applied.</p>
  
  <p>I've searched for other questions with the same issue but most of them dealt with lazily computed variables. How do I resolve this error for my scenario?</p>