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;
- (void) aMethod:(int)a :(float)b :(int)c;
- (void) aMethod:(int)a withInt:(int)b;
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).