Se il numero di parametri è differente si possono usare anche le stesse descrizioni. Questo perché il nome completo del metodo è comprensivo anche dei "due punti" che precedono i parametri, quindi due metodi con numeri di parametri diversi avranno per forza nomi diversi.
Quindi questi tre metodi sono tutti diversi fra loro
- (void) aMethod:(int) a :(int)b; //La signature è "aMethod::
- (void) aMethod:(int)a :(float)b :(int)c; //La signature è aMethod:::
- (void) aMethod:(int)a withInt:(int)b; //La signature è aMethod:withInt:
Se invece due metodi hanno lo stesso numero di parametri (anche se questi sono di tipi diversi) devi per forza usare delle descrizioni differenti (come ad esempio il primo e l'ultimo metodo che ho messo prima).