title: When to use `protocol` and `protocol: class` in Swift?
body: <p>I have setup a protocol to send some information back to the previous VC.</p>
  
  <p>I define it like this:</p>
  
  <pre><code>protocol FilterViewControllerDelegate: class  {
      func didSearch(Parameters:[String: String]?)
  }
  </code></pre>
  
  <p>But what is the difference when using:</p>
  
  <pre><code>protocol FilterViewControllerDelegate  {
          func didSearch(Parameters:[String: String]?)
      }
  </code></pre>
  
  <p>And when should I use a <code>: class</code> protocol?</p>