When to use `protocol` and `protocol: class` in Swift?
<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>