title: Can I make #selector refer to a closure in Swift?
body: <p>I want to make a <code>selector</code> argument of my method refer to a closure property, both of them exist in the same scope. For example,</p>
  
  <pre><code>func backgroundChange() {
      self.view.backgroundColor = UIColor.blackColor()
      self.view.alpha = 0.55
  
      let backToOriginalBackground = {
          self.view.backgroundColor = UIColor.whiteColor()
          self.view.alpha = 1.0
      }
  
      NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: #selector(backToOriginalBackground), userInfo: nil, repeats: false)
  }
  </code></pre>
  
  <p>However, this shows an error: <code>Argument of #selector cannot refer to a property</code>.</p>
  
  <p>Of course I can define a new, separate method and move the implementation of the closure to it, but I want to keep it frugal for such a small implementation.</p>
  
  <p>Is it possible to set a closure to <code>#selector</code> argument?</p>