假设我有两个按钮是ivar outlets。一个称为“蓝色”,另一个称为“红色”。现在,我有一个值为“Red”的 NSString。我想将 NSString 标识的按钮设置为 selected
状态,而不使用 if
。
我不想这样做:
NSString *button=@"Red";
if ([button isEqualtoString:@"Blue")
self.blue.selected=YES; //self.blue and self.red are UIButtons
else
self.red.selected=YES;
如果你有两个按钮,这很好,但我有很多,如果有 30 个按钮,这样做会很不优雅和麻烦。
我更愿意找到一种方法将 UIButton
ivar 的名称直接链接到 NSString
的值。
最佳答案
将字符串小写和 你可以使用 KVC为此:
[self setValue:[NSNumber numberWithBool:YES]
forKeyPath:[NSString stringWithFormat:@"%@.selected", button]];
关于objective-c - 动态按钮选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6669281/