Comprendre la notation des arguments Swift dans des fonctions comme tableView

Je suis venu récemment chez Swift mais il y a quelque chose que je ne comprends pas. Je veux implémenter une tableView avec des cellules. Ce que je comprends, mais la notation est un peu confuse pour moi.

J'ai cette fonction de l'UITableViewDataSource

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 5 } 

Pouvez-vous me dire ce qu'est numberOfRowsInSection ?? Est-ce une fonction avec sa section de paramètre? Je vois le nom de la fonction tableView returnnant un Int, les parameters tableView et la section avec leur propre type. Mais je ne comprends vraiment pas pour numberOfRowsInSection.

Et quand cette fonction est appelée?

Merci pour vos réponses.

Les différences sont des labels d'arguments internes et externes . Vous pouvez utiliser deux types d'labels d'arguments différents. Les internes sont utilisés à l'intérieur de la fonction elle-même et les onces externes sont utilisés lorsque vous appelez la fonction.

 tableView(tableView: UITableView, numberOfRowsInSection section: Int) /\ /\ /\ || || || internal external internal 

Prenons un exemple de fonction:

 func test(str:Ssortingng, thisIsATest str1:Ssortingng){ println(str1)//works println(thisIsATest)//error } 

Comme vous le voyez, str1 valeur str1 . Mais vous verrez, cela fonctionnera avec l'argument interne seulement.

Mais si vous appelez maintenant la fonction de l'extérieur comme ça:

 test("hi", str1:"hi2") 

Il jette une erreur. Parce que vous utilisez l'label d'argument internal . Mais si vous utilisez maintenant le label d'argument externe thisIsATest , cela fonctionne:

 test("hi", thisIsATest:"hi2") 

De même, il n'est pas nécessaire de définir des labels externes, mais si vous définissez des labels externes, vous devez également définir une label interne. Mais vous devez définir des labels internes dans certains cas comme dans les methods init() .

Même si c'est facile à callbacker, je me suis fait un poney pour ça: je compare une fonction avec une entreprise: si vous travaillez dans l'entreprise, et que vous voulez appeler quelqu'un qui travaille également dans l'entreprise, vous utiliserez le téléphone interne nombre. Mais si vous voulez utiliser le service de l'entreprise en tant que client (user d'une fonction), vous appelez depuis le numéro externe .