title: Create an instance from a Class that conforms to a Protocol
body: <p>I'm trying to accomplish something like the following:</p>
  
  <pre><code>- (id&lt;SomeProtocol&gt;)instanceFromClass:(Class&lt;SomeProtocol&gt;)cls
  {
      return [[cls alloc] initUsingSomeConstructorDefinedInProtocolWithValue:_value];
  }
  </code></pre>
  
  <p>However, I'm getting a <code>No Known class method for selector 'alloc'</code> error. How may I specify in my signature that I want to receive a class that conforms to a protocol? Or, if that part is correct, how may I create an instance from that argument using a constructor defined in the specified protocol?</p>