i'm starting with Swift by developing a simple application with a tableView, a request to a server and a few things more. I realized that every method inside UITableViewDelegate protocol is named in the same way (i guess it might be the same with other protocols) and the differences are made by changing the parameters passed to those methods (which are called "tableView" by the way).

I was wondering why Apple would do something like this, as it's a bit messy when i try to implement method from this protocol, as i can't start typing "didSele..." just to autocomplete with "didSelectRowAtIndexPath"; instead i have to type "tableView" to get a list of all available methods and manually search for the one whose second parameter is "didSelectRowAtIndexPath".

Everything's working fine, but just trying to know WHY could this be done this way.

Thank you so much in advice :)

PS: There's a screenshot about what i'm saying: 

![Image showing a list of "tableView" functions with different parameters names](https://i.stack.imgur.com/RZc8o.png)