Argument of `#selector` does not refer to an initializer or method
<p>I'm trying to perform a protocol extension method in the background:</p>

<pre><code>performSelectorInBackground(#selector(retrieveCategories()), withObject: nil)
</code></pre>

<p>However I get the below error message:</p>

<pre><code>Argument of `#selector` does not refer to an initializer or method
</code></pre>

<p>Here is my protocol declaration:</p>

<pre><code>@objc protocol DataRetrievalOperations {
    optional func retrieveCategories()
    ...
}
</code></pre>

<p>And my extension:</p>

<pre><code>extension DataRetrievalOperations {
    func retrieveCategories() {
        ...
    }
}
</code></pre>

<p>How can I achieve this?</p>