title: `self` in Swift closure
body: <p>I want to understant <code>self</code> in Swift closure.
  For Ex -   </p>
  
  <pre><code>() -&gt; Void = { [weak self] in
      guard let `self` = self else { 
          self.callMethod2()
      }
      self.callMethod3()
  }
  </code></pre>
  
  <p>Why we use backtick here?
  Is it good programming practice?
  How self is weakly captured here?</p>