Suppose I have two buttons that are ivar outlets. One is called “Blue” and the other “Red.” Now, I have an NSString with the value of “Red.” I want to set the button identified by the NSString to a selected state, without using if.
I do not want to do this:
NSString *button=@"Red";
if ([button isEqualtoString:@"Blue")
self.blue.selected=YES; //self.blue and self.red are UIButtons
else
self.red.selected=YES;
This is fine if you have two buttons, but I have quite a lot more than that, and it would be quite inelegant and cumbersome to do this for like 30 buttons.
I’d much rather find a way to directly link the name of a UIButton ivar to the value of an NSString.
Put the string lower case and
you can use KVC for that :