title: Add [unowned self] to the closure argument Swift
body: <p>I have a function with a completion handler, returning one parameter or more.</p>
  
  <p>In a client, when executing a completion handler, I'd like to have an <code>unowned</code> reference to <code>self</code>, as well as having access to the parameter passed.</p>
  
  <p>Here is the Playground example illustrating the issue and the goal I'm trying to achieve.</p>
  
  <pre><code>import UIKit
  
  struct Struct {
    func function(completion: (String) -&gt; ()) {
      completion("Boom!")
    }
  
    func noArgumentsFunction(completion: () -&gt; Void) {
      completion()
    }
  }
  
  class Class2 {
    func execute() {
      Struct().noArgumentsFunction { [unowned self] in
        //...
      }
  
      Struct().function { (string) in // Need [unowned self] here
        //...
      }
    }
  }
  </code></pre>