Acho que sua dúvida é mais sobre métodos com parâmetros nomeados do que sobre métodos com parâmetros, né?
Algo como:
Por que criar um método alimentoConsumido(nome: nome)
quando posso criar um método comum alimentoConsumido(nome)
?
A ideia dos parâmetros nomeados é dar mais significado para os argumentos de um método. Veja esse exemplo:
Imagine um método que faça a divisão entre dois números inteiros. Uma chamada desse método poderia ser:
let resultado = divide(3, 2)
Ao ver essa chamada, não fica claro a conta que está sendo feita: estamos fazendo 3/2 ou 2/3?
Podemos melhorar o nome do método, para algo como:
let resultado = dividePor(3, 2)
Ao ler esse método em voz alta, parece que estamos dizendo "divide por 3 o número 2", induzindo a gente a imaginar que a conta seja 2/3.
Para termos certeza de quem é o numerador e o denominador, só olhando o conteúdo do método.
Porém, em Swift, podemos colocar um nome para cada parâmetro, então nosso método pode ficar assim:
let resultado = divide(3, por: 2)
Ao ler esse método em voz alta, não há dúvidas de qual conta é feita: 3/2.
A assinatura ficaria assim:
func divide(_ numerador: Int, por denominador: Int) -> Int
Obs: caso queiramos suprimir o nome do argumento, basta colocar underline (_) como fiz no argumento numerador.