I meant to bring this up a bit ago but just came across it again.
I find this to not read properly:
button.setTitle("Test", for: .normal) //for normal what?
The for argument is really only clear in meaning when you are typing it out and see that it is a UIControlState type. While reading it without this context is it as clear? .normal doesn't seem descriptive enough on its own.
Contrast this with UISegmentedControl:
segmented.dividerImage(forLeftSegmentState: .normal, rightSegmentState: .normal, barMetrics: .default)
Here the parameter labels are needed because there needs to be a distinction in the method between left and right. But here it is not forLeft: or forRight: it is the much more clear forLeftSegmentState:
So my question is: why was this not setTitle(forControlState:) or forButtonState, etc...?
Sent from my iPad