Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida Sintaxe Swift

Olá, estou tentando entender a sintaxe de declaração de funções.

Veja esse exemplo:

public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell

Eu já entendi o que UITableView e IndexPath são os tipos deles. Então o que seria o underline e o cellForRowAt antes dos parâmetros?

1 resposta
solução!

Quando você declara uma função em Swift, como no seu exemplo...

public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell

... podemos dar uma etiqueta junto ao nome dos parâmetros, que será usada sempre que alguém chamar essa função.

Ainda no seu exemplo, veja como é a chamada da função definida acima:

meuObjeto.tableView(meuTableView, cellForRowAt: meuIndexPath)

Veja que, mesmo que o segundo parâmetro seja definido como indexPath (note o "i" minúsculo), ao chamar a função, usamos a etiqueta associada a esse parâmetro (no caso, cellForRowAt).

No entanto, mesmo com essa etiqueta, caso queiramos dentro da função usar seus argumentos, teremos que usar os nomes diretamente: no caso, tableView e indexPath.

Essas etiquetas aumentam a semântica das funções, tornando suas chamas mais legíveis e menos dependente do nome "interno" de seus parâmetros.

É importante dizer também que elas são opcionais, e é possível ocultá-las, usando o underscore. Note que ao chamar a função do seu exemplo, não escrevemos o nome do primeiro parâmetro, justamente porque ele tem um underscore na sua definição.