title: Swift, can I override a method with a more specific derived parameter type
body: <p>PlayingCard inherits from Card</p>
  
  <p>Given the two functions with the same name:</p>
  
  <pre><code> func match(othercards : [PlayingCard]) -&gt;  Int {
       return 2 
   }
  
   func match(othercards : [Card]) -&gt;  Int {
       return 2 
   }
  </code></pre>
  
  <p>It is throwing an Error Saying :  Overriding method with selector 'match:' has incompatible type '([PlayingCard]) -> Int' </p>
  
  <p>Why??? Its two functions with same name but two different kind of parameters why is it still asking for override?? If I do that then even that is called as Error </p>