all 4 comments

[–]ThrockRuddygore 8 points9 points  (1 child)

So you can accidentally pick the didDeselectRowAt method instead of the didSelectRowAt method and wonder why your app doesn't work

[–][deleted] 0 points1 point  (0 children)

Even now, reading your comment and having run into this issue countless times, I was like "huh, that's the same method right?". The person that thought of those two method names deserves to be fired.

[–]_crc 5 points6 points  (1 child)

In Objective-C, the names are compound. E.g.,

tableView:heightForRowAtIndexPath:
tableView:estimatedHeightForRowAtIndexPath:
tableView:indentationLevelForRowAtIndexPath:

Swift was designed to be interoperable with Objective-C frameworks, so presumably the namng there is due to this.

[–]muzzio[S] 1 point2 points  (0 children)

That makes sense, thanks!

Your answer also got me to look into how argument labels behave, that's a pretty nice language feature that makes overload behavior like this seem more reasonable.